一、遞迴函式的特徵?
● 遞迴函式是一個函式
● 函式在執行過程中,自己呼叫自己
● 一定有結束呼叫自己的條件,否則進入死迴圈
1、斐波那契數列
數列:1、1、2、3、5、8、13、21、34、……
F(1)=1,
F(2)=1,
F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
● python程式碼實現:
● python輸出結果:
2、計算階乘
fact(1) = 1
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
3、求1-2+3-4+5...100的所有數的和
sum(1) = 1
sum(n) = sum(n-1) + n
4、逆向輸出字串
輸入:abcde
輸出:edcba
一、遞迴函式的特徵?
● 遞迴函式是一個函式
● 函式在執行過程中,自己呼叫自己
● 一定有結束呼叫自己的條件,否則進入死迴圈
二、遞迴函式的例子透過Python程式語言來解釋1、斐波那契數列
數列:1、1、2、3、5、8、13、21、34、……
從上面數列中我們可以發現規律:從第三個數開始,當前數字等於前兩個數字之和F(1)=1,
F(2)=1,
F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
● python程式碼實現:
● python輸出結果:
1 1 2 3 5 8 13 21 34 552、計算階乘
fact(1) = 1
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
● python程式碼實現:
● python輸出結果:
1203、求1-2+3-4+5...100的所有數的和
sum(1) = 1
sum(n) = sum(n-1) + n
● python程式碼實現:
● python輸出結果:
50504、逆向輸出字串
輸入:abcde
輸出:edcba
● python程式碼實現:
● python輸出結果:
請輸入若干字元:abcde edcba三、遞迴函式總結學習遞迴要掌握遞迴的三大要素,第一要素:明確你這個函式想要幹什麼;第二要素:尋找遞迴結束條件;第三要素:找出函式的等價關係式。