银行存款问题(java)

银行存款问题(逆推)

母亲为儿子Frank的四年大学学费准备了一笔存款,方式是整存零取,规定Frank每月月底取下一个月的生活费。
现在假设利率为1.71%,编写程序,计算母亲最少需要存多少钱?
可以采用逆推法分析存钱和取钱的过程,因为按照月为周期取钱,所以共四年48个月,并分别对每个月进行计
算。如果在第48个月后sun大学毕业时连本带利要取1000元,这要求出前47个月时银行存款的钱数。
(1)第47月月末存款=1000(1+0.0171/12)
(2)第46月月末存款=(47月月末存款+1000)/(1+0.0171/12)
(3)第45月月末存款=(46月月末存款+1000)/(1+0.0171/12)
(4)第44月月末存款=(45月月末存款+1000)/(1+0.0171/12)

(47)第2月月末存款=(第三个月月末存款+1000)/(1+0.0171/12)
(48)第1月月末存款=(第二个月月末存款+1000)/(1+0.0171/12)

逆推法:从已知的结果出发,用迭代表达式逐步推算出问题开始的条件,即顺推法的逆过程。
public class 银行存款问题 {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
     
  int FETCH=1000;
  double[]num=new double[49];
  num[48]=(double)FETCH;
  double RATE=0.0171;
  for(int i = 47;i>0; i--){
   num[i]=(num[i + 1] + FETCH) / (1 + RATE / 12);
  }
  for (int i =48; i>0; i--) {
   System.out.println("第"+i+"月月末存款:"+num[i]+"");
  }
 }
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值