题目描述
蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 60 平米的房子,现在价格是 2002 万。假设房子价格以每年百分之 K 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 N 万,房价 200 万)
输入格式
一行,包含两个正整数 N(10≤N≤50),K(1≤K≤20),中间用单个空格隔开。
输出格式
如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下;否则输出"Impossible"。
输出时每行末尾的多余空格,不影响答案正确性。
样例
input
50 10
output
8
解题思路
数据约束很小,所以直接按照数学思路计算即可。
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
double n, k;
cin >> n >> k;
double price = 200;
double nowmoney = 0;
int year = 0;
while (true)
{
if (year > 20)
{
cout << "Impossible" << endl;
exit(0);
}
nowmoney += n;
year++;
if (nowmoney >= price) break;
price *= (1 + 0.01 * k);
}
cout << year << endl;
return 0;
}