【程序3】该存多少钱 (逆推实例)

时间:2021-01-09 11:26:18
[java] view plaincopy
  1. import java.text.DecimalFormat;  
  2. /*【程序3】 
  3.  * 1.3.3  逆推实例  该存多少钱 
  4.  * 父亲准备为小龙的四年大学生活一次性储蓄一笔钱, 
  5.  * 使用整存零取的方式,控制小龙每月月底取1000元准备下月使用。 
  6.  * 假设银行一年整存零取的年息为1.71%,请算出父亲至少需要存入多少钱才行。 
  7.  * 解题思路: 
  8.  *  若在第48月小龙大学毕业时连本带息要取1000元,则要先求出第47个月时银行存款的钱数 
  9.     第47月月末存款=1000/(1+0.0171/12); 
  10.     第46月月末存款=(第47月月末存款+1000)/(1+0.0171/12) 
  11.     依次类推,可以求出第45月、第44月……的月末存款的数值 
  12.     第45月月末存款=(第46月月末存款+1000)/(1+0.0171/12) 
  13.     第44月月末存款=(第45月月末存款+1000)/(1+0.0171/12) 
  14.         ……  …… 
  15.     第2月月末存款=(第3月月末存款+1000)/(1+0.0171/12) 
  16.     第1月月末存款=(第2月月末存款+1000)/(1+0.0171/12) 
  17.  
  18.  */  
  19. public class T003 {  
  20.     public static void main(String[] args){  
  21.         int fetch = 1000;   // 每月取钱数;  
  22.         double rate = 0.0171f;  // 利率  
  23.         double corpus[] = new double[49];   // 记录集  
  24.         DecimalFormat df = new DecimalFormat("#0.00");  
  25.         corpus[48] = (double)fetch;  
  26.         for(int i=47;i>0;i--){  
  27.             corpus[i] = (corpus[i+1]+fetch)/(1+rate/12);  
  28.         }  
  29.         for(int i=48;i>0;i--){  
  30.             System.out.println("第"+i+"个月末本利合计:"+df.format(corpus[i]));  
  31.         }  
  32.     }  
  33. }  
 
运行结果:
  【程序3】该存多少钱 (逆推实例) 【程序3】该存多少钱 (逆推实例)