斐波那契数列

递归算法:方法自身再次调用自身的过程。

如:1 、1 、2、3、5、8、13、21  34   55….

从第二数开始,每位上的值是前两个数的和。求第10个数是多少

  1. 递归算法:自己调用自己
  2. 迭代算法:通过中间变量。不断交换获得值。

 

public class Test{

   public static void main(String[] args){

      System.out.println(diGui(10));

      System.out.println(dieDai(5));

   }

 

   public static int diGui(int i){

      if(i <= 2){

        return 1;

      }

      //当 i 大于 2 的时候

      return diGui(i - 2) + digui(i - 1);

   }

 

   public static int dieDai(int i){

      int x1 = 1;//倒数第二位

      int x2 = 1;//倒数第一位

      int temp = 0;//存储结果

      if(i < = 2){

        return 1;

      }  

      // i > 2 的情况

      for(int j = 2;j < i; j++){

        temp = x1 + x2;

        x1 = x2;

        x2 = temp;

      }

      return temp;

   }

  

}

 

posted @ 2015-08-01 00:41  飞牛冲天  阅读(130)  评论(0编辑  收藏  举报