1. 程式人生 > >用遞歸實現解決斐波那契數列。

用遞歸實現解決斐波那契數列。

mil dem http pan 案例 void main print str

* A:遞歸概念和註意事項
* a: 遞歸概念
* 遞歸,指在當前方法內調用自己的這種現象
* 遞歸分為兩種,直接遞歸和間接遞歸
* 直接遞歸稱為方法自身調用自己。間接遞歸可以A方法調用B方法,B方法調用C方法,C方法調用A方法
* b: 註意事項
* 遞歸一定要有出口, 必須可以讓程序停下
* 遞歸次數不能過多
* 構造方法,禁止遞歸

* A: 遞歸計算斐波那契數列
* a:題目分析
* 1 1 2 3 5 8 13 21

* 從第三項開始,後面的每一項都等於前面兩項的和,第一項和第二項的值為1,作為程序的出口
* b: 案例代碼
/*
* 方法的遞歸調用
* 方法自己調用自己
* 適合於,方法中運算的主體不變,但是運行的時候,參與運行的方法參數會變化

代碼演示如下:

public class DiGuiDemo {
public static void main(String[] args) {

System.out.println(getFBNQ(12));
}
/*
* 方法遞歸,計算斐波那契數列
*
*/
public static int getFBNQ(int month){
if( month == 1)

      return 1;
if( month == 2)

return 1;
return getFBNQ(month-1)+getFBNQ(month-2);
}
}

關於遞歸實現的原理:

技術分享圖片

調用getsum()返回調用者,依次返回直到返回到main方法中得到其中的值。

用遞歸實現解決斐波那契數列。