AtCoder Beginner Contest 165 比赛人数11730 比赛开始后15分钟看到所有题
AtCoder Beginner Contest 165 B 1% 不一样的利滚利
总目录详见https://blog.csdn.net/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc165/tasks/abc165_b
思路如下:
第一年后,总收入100+100*0.01=101
第二年后,总收入101+101*0.01=102
第三年后,总收入102+102*0.02=103
......
注意,小于1的收益,将被抛弃。
故计算过程中,用浮点数是不合适的,因为小于1的收益,或被累计。
计算过程需采用长整型。
AC代码如下
#include <stdio.h>
#define LL long long
int main(){
LL x,y;
int i;
scanf("%lld",&x);
y=100;
for(i=1;i<=4000;i++){
y=y+y*0.01;
if(y>=x)break;
}
printf("%d\n",i);
return 0;
}