描述
某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)
输入
一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。
输出
如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible。
样例输入
50 10
样例输出
8
#include<stdio.h>
int main()
{
int N,K;
int M=1;
double t=0,s=200.0;//t是存款
scanf("%d%d",&N,&K);
t=N; // 第一年的存款不能漏加了
while (s>t&&M<=20) // M年数要小于20年,如果不加上的话可能一直是死循环
{
s = s*(1+K*0.01); //房子的价格变化
M = M+1;
t=t+N; //程序员的储蓄变化
}
if (M<=20)
printf("%d",M);
else if (M>20)
{
printf("Impossible");
}
return 0;
}
细心思考哦,不然程序员买不到房子了^-^ !