考研机试:买房子
描述
某程序员开始工作,年薪 N万,他希望在中关村公馆买一套 60平米的房子,现在价格是 200 万,假设房子价格以每年百分之 K 增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子(第一年房价 200 万,收入 N 万)
输入描述:
输入包含多组测试数据。
每组数据共一行,包含两个整数 N 和 K。
输出描述:
对于每组数据,如果在第 21 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下,否则输出 Impossible
。
每组数据输出占一行。
输入
50 10
40 10
40 8
输出
8
Impossible
10
代码
#include<iostream>
using namespace std;
void BuyHouse(int n,int k){
int year=1;
double money=n,house=200;
while(money<house){
money+=n;
year++;
house=house+k/100.0*house;
if(year>21){
break;
}
}
if(year<=21){
printf("%d\n",year);
}
else
printf("Impossible\n");
}
int main(){
int n,k;
while(scanf("%d%d",&n,&k)!=EOF){
if(k*2>=n){
printf("Impossible\n");
}
else
BuyHouse(n,k);
}
}