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


* 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方法中得到其中的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM