必做题11-1
蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 6060 平米的房子,现在价格是 200 万。假设房子价格以每年百分之 K 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 N 万,房价200 万)
输入格式
一行,包含两个正整数 N(10≤N≤50),)K(1≤K≤20),中间用单个空格隔开
输出格式
如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下;否则输出"Impossible"。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
50 10
样例输出
8
问题分析
题目思路很简单,注意数据类型用double或float。
输入M,则每年增长M/100。
更新存款n=n+N,如果n<房价m=m+m*M/100,继续循环,年数加一。
直到年数大于20或者n大于房价。
代码实现
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
double N, M;
cin>>N>>M;
M = 1.0 + M/100.0;
double n = 0.0;
double m = 200.0;
int ans =1;
for(; ans<=20; ans++)
{
n += N;
if(n >= m)
{
cout<<ans;
return 0;
}
m *= M;
}
cout<<"Impossible";
return 0;
}