父亲准备为小龙的4年大学生活一次性在银行储蓄一笔钱,使用整存零取的方式,控制小龙每月底只能提取1000元准备下月使用,假设银行年利息为1.71%,请编写程序计算出父亲至少需要一次性存入多少钱才能够小龙4年大学生活(4年的利息也应计算在内)。
解题思路:
分析存钱和取钱的过程,可以采用地递推的方法。
第48个月取出1000,则要先求出47个月时银行存款的具体金额:
第47个月的存款=1000/(1+1.71%/12)
第47个月的存款=(第47个月的存款+1000)/(1+1.71%/12)
…
第1个月的存款=(第2个月的存款+1000)/(1+1.71%/12)
- 根据需要达到的目标,反推要达到该目标需要什么条件
AC
#include <iostream>
#include <algorithm>
#include <cstdio>
#define fetch 1000
#define rate 0.0171
using namespace std;
int main(){
double corpus[49];
int i;
corpus[48]=(double)fetch;
for(i=47;i>0;i--){
corpus[i]=(corpus[i+1]+fetch)/(1+rate/12);
}
for(i=48;i>0;i--){
cout<<"第"<<i<<"月末本利合计:"<<corpus[i]<<endl;
}
getchar();
return 0;
}