新手求指点 代码看不出错误
某程序猿开始工作,年薪N万,他希望在中关村公馆买一套只有60平米的小房子,假设现在价格是200万,但是房子价格会以每年百分之K的速率增长,并且该程序猿未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问:这苦逼第几年能够买下这套房子(注:第一年房价200万,收入N万)
Input
有多行,每行两个整数N(10 ≤ N ≤ 50), K(6 ≤ K ≤ 30)
Output
对每组数据,如果在20内(包括20年)就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible,输出需要换行
Sample Input
50 10
40 10
40 8
Sample Output
8
Impossible
10
我的代码
#include <stdio.h>
int main(void)
{
float n,i;
float s ,sum,k;
while(scanf("%f%f",&n,&k)!=EOF)
{
s=200;
sum=0;
for(i=1;i<=20;i++)
{
s=s*(1+k/100);
sum=sum+n;
if(sum>=s)
break;
}
if(i<=20)
printf("%f\n",i);
else
printf("Impossible\n");
}
return 0;
}