Week11_T1

题目描述
蒜头君从现在开始工作,年薪 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;
}

Week11_T1

题目描述
蒜头君从现在开始工作,年薪 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;
}