题目
蒜头君从现在开始工作,年薪 NNN 万。他希望在蒜厂附近买一套 606060 平米的房子,现在价格是 200200200 万。假设房子价格以每年百分之 KKK 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 NNN 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 NNN 万,房价 200200200 万)
输入格式
一行,包含两个正整数 N(10≤N≤50)N(10 \le N \le 50)N(10≤N≤50),K(1≤K≤20)K(1 \le K \le 20)K(1≤K≤20),中间用单个空格隔开。
输出格式
如果在第 202020 年或者之前就能买下这套房子,则输出一个整数 MMM,表示最早需要在第 MMM 年能买下;否则输出"Impossible"。输出时每行末尾的多余空格,不影响答案正确性
样例输入
50 10
样例输出
8
思路
for循环不断计算第i年的存款和房价,在能买时跳出循环,并置flag为1,否则不做处理,最后根据flag值输出能否能买和第几年能买。
代码
#include<iostream>
using namespace std;
float price=200;
int main()
{
int n,k,sum=0;;
cin>>n>>k;
int flag=0;
int i;
for(i=1;i<=20;i++)
{
sum+=n;
if(sum>=price)
{
flag=1;
break;
}
price+=price*k/100.0;
}
if(flag==0)
cout<<"Impossible"<<endl;
else
cout<<i<<endl;
return 0;
}