C/C++编程学习 - 第15周 ③ 买房子

题目链接

题目描述

蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 60 平米的房子,现在价格是 200 万。假设房子价格以每年百分之 K 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 N 万,房价 200 万)

输入格式
一行,包含两个正整数 N(10 ≤ N ≤ 50),K(1 ≤ K ≤ 20),中间用单个空格隔开。

输出格式
如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下;否则输出"Impossible"。

Sample Input

50 10

Sample Output

8

思路

房价增长,年薪不变,问是否能在第 20 年或者之前买下这套房子,如果能,输出第几年,如果不能,输出"Impossible"。由于房价一直在涨,我们可以模拟每年的房价,以及一共攒下的钱,模拟途中如果攒下的钱高于实时房价,就跳出循环,输出年份,否则如果一直到20年之后还没攒够钱就输出"Impossible"。(这也太惨了吧)

C++代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double n, k;
	while(cin >> n >> k)
	{
		double m = 200.0, sum = n, i;
		int flag = 0;
		for(i = 1; i <= 20; i++)
		{
			if(sum >= m) break;
			sum += n;
			m *= (1 + k * 1.0 / 100);
		}
		if(i > 20) cout << "Impossible" << endl;
		else cout << i << endl;
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水蛙菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值