假设银行一年整存零取的月息为x,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,请编程计算第1年年初时他应存入银行多少钱。
#include<stdio.h>
#include <math.h>
int main()
{
double x;
scanf("%lf", &x);
double y=0;
int i;
m=pow(1+x,12);
for(i=0; i<5; i++){
y=(y+1000)/(1+12*x);
}
printf("%.2f\n", y);
return 0;
}
这道题的关键不在代码,而在于"月息"是什么?
贷款年息就是指一年会收取的利息,月息则是指一个月会收取的利息。 二者的区别就在于计算单位不同,年息以年为单位,月息以月为单位。 而要将月利率换算成年利率的话,换算公式是:年利率=月利率×12(月);反过来就是:月利率=年利率/12(月)。
我之前的错误写法:y=(y+1000)/pow(1+x,12);
为什么?
反过来写(假如月息为0.2):错误:1000*pow(1+0.2,12)=好几个亿了(一夜暴富不是梦!)
正确:1000*(1+12*0.2)=3400(老老实实当个普通人......)
又是长知识的一天!