1.问题描述
假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的5年中的每年年底取出1000元,到第5年时刚好取完,请算出他存钱时应存入多少。
2.问题分析
根据题意,可以从第5年向前推算。已知“在今后的5年中每年的年底取出1000元,这样到第5年的时候刚好可以取完”,因此,第5年年底会取出1000元,则可以计算出第5年年初在银行中所存的钱数为:
第5年年初存款数=1000/(1+12×0.0063)
据此推算出第4年、第3年直至第1年年初的银行存款数如下:
第4年年初存款数=(第5年年初存款数+1000)/(1+12×0.0063)第3年年初存款数=(第4年年初存款数+1000)/(1+12×0.0063)第2年年初存款数=(第3年年初存款数+1000)/(1+12×0.0063)第1年年初存款数=(第2年年初存款数+1000)/(1+12×0.0063)
3.算法设计
根据上述分析,从第5年年初开始向前递推就可求出这个人应该在银行中存钱的钱数。因此可以使用for循环语句,循环4次,每次循环都在上一次的基础上加上1000,再除以(1+12×0.0063)。
4.代码
#include<iostream>
using namespace std;
int main() {
double m = 0.0;
for (int i = 0; i < 5; i++)
m = (m + 1000.0) / (1 + 0.0063 * 12);
cout << "应该存钱数" << m;
return 0;
}