递推算法

递推算法:

递推算法使用"步步为营"的方法,不断利用已有的信息推导出新的东西.

-顺推法:是指从已经条件出发,桌布推算出要解决问题的方法.例如:斐波那契数列就可以通过顺推法不断递推出新的数据.

-逆推法:是从已知的结果出发,用迭代表达式逐步推算出问题开始的条件,既顺推法的逆过程.

     

          顺推实例:题目:兔子的繁殖过程
递推算法_第1张图片
 

          Java代码描述:

       

  public static void main(String[] args) {
               int n = 10;
               System.out.println("第"+n+"个月兔子总数为"+fun(n));
         }
          private static int fun(int n){
              if(n==1 || n==2)
                 return 1;
                else
                   return fun(n-1)+fun(n-2);
          } 

 

          逆推实例:


递推算法_第2张图片
 

        Java代码描述:

public static void cunQian(){
double bq = 1000;
double ll = 0.0171;
 
double[] ds = new double[48]; 
ds[47] = 1000;
for(int i = 46; i>=0;i--){
ds[i] = (ds[i+1]+bq)/(1+ll/12);
}
for(int i = 47;i>=0;i--){
System.out.println("第"+(i+1)+"个月本利合计:"+ds[i]);
}
}

 

 

你可能感兴趣的:(递推算法)