按复利公式计算最终金额,再用 int 截去小数部分。
OJ: noi_openjudge
题目 ID: ch0105-15
难度:入门
标签:数学浮点数python
日期: 2026-07-30 23:01
题意
本金按年利率
思路
每年增长因子为 int 对正数直接截去小数部分。
代码
Python代码
python
rate, principal, years = map(int, input().split())
final_amount = principal * (1 + rate / 100) ** years
print(int(final_amount))C++代码
cpp
#include <cstdio>
int main(){
int r,m,y;
scanf("%d%d%d",&r,&m,&y);
double lilv = 1+ r*0.01;
double result = m;
int i;
for (i=1;i<=y;i++){
result = result*lilv;
}
printf("%d\n",(int)result);
return 0;
}复杂度
使用内建幂运算,额外空间复杂度为
总结
复利与单利不同,每一年都作用在上一年的本息和上,因此要使用乘方。