描述
农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。
输入
一行包含三个整数R,M,Y,相邻两个整数之间用单个空格隔开。
输出
一个整数,即约翰最终拥有多少钱(整数部分)。
思路:首先我们知道年利率是个百分数,所以我们R要先除以100,然后就是简单的数学问题,每年的增长额就是 M*R/100,每过一年后金额就变成 M*(1+R/100)。
#include<stdio.h>
int main(){
double R,M,Y,d; //这里定义成double型是为了方便后面的运算
scanf("%lf %lf %lf",&R,&M,&Y);
double e=R/100;
double sum=M;
for (d=1;d<=Y;d++){
sum=sum*(1+e);
}
int g=sum; //这里用强制类型转换去除小数部分
printf("%d",g);
return 0;
}
注意:这里不要用 %.0lf 进行输出因为%.0表示保留0位小数,是会四舍五入的,而强制类型转换不会这样。