About Bacteria CodeForces - 198A

原题链接
考察:思维
思路:
  假设时间\(c\)后,以\(1\)为开始的细菌\(>=t\).此后\(n-c\)就是以\(t\)为起始到达\(z\)的时间.但是如果\(>t\)就需要将\(ans+1\)

#include <iostream>
#include <cstring>
using namespace std;
typedef long long LL;
int k,b,n,t;
int main()
{
	scanf("%d%d%d%d",&k,&b,&n,&t);
	LL res = 1;
        int ans = n+1;
	for(int i=0;i<=n;i++)
	{
		if(res>=t)
		{
			ans = i;
			break;
		}
		res = res*k+b;
	}
	if(res==t) printf("%d\n",n-ans);
	else printf("%d\n",n-ans+1);
	return 0;
}

posted @ 2021-08-09 10:09  acmloser  阅读(24)  评论(0编辑  收藏  举报