描述
农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。
输入一行包含三个整数R,M,Y,相邻两个整数之间用单个空格隔开。输出一个整数,即约翰最终拥有多少钱(整数部分)。
样例输入
5 5000 4
样例输出
6077
提示
在样例中,
第一年后: 1.05 * 5000 = 5250
第二年后: 1.05 * 5250 = 5512.5
第三年后: 1.05 * 5512.50 = 5788.125
第四年后: 1.05 * 5788.125 = 6077.53125
6077.53125的整数部分为6077。
题意
已知投资的复合年利率为R。约翰现有总值为M的钱。要投资Y年。计算最终他会有多少钱。
解题思路
使用for,循环0~y表示过了y年,每次循环表示1年,所以每年的钱数变化是每年的钱加上新增的钱(和年利率R有关),最后打印出m(钱数)
代码实现
#include<iostream>
using namespace std;
int main (){
double r,m,y; //定义R、M、Y三个变量,分别为 年利率、本金、年数
cin>>r>>m>>y;
for(int i=0;i<y;i++){ //计算每年的利息
m=m*(1+r/100); //使用利息公式计算每年的利息+本金
}
cout<<(int)m; //结果要求输出整数部分
return 0;
}
原文链接:https://www.cnblogs.com/0518-dtg/p/16587301.html