一、遞歸函數(shù)的特征?
●遞歸函數(shù)是一個(gè)函數(shù)
●函數(shù)在執(zhí)行過程中,自己調(diào)用自己
●一定有結(jié)束調(diào)用自己的條件,否則進(jìn)入死循環(huán)
二、遞歸函數(shù)的例子
通過Python編程語(yǔ)言來(lái)解釋
1、斐波那契數(shù)列
數(shù)列:1、1、2、3、5、8、13、21、34、……
從上面數(shù)列中我們可以發(fā)現(xiàn)規(guī)律:從第三個(gè)數(shù)開始,當(dāng)前數(shù)字等于前兩個(gè)數(shù)字之和
F(1)=1,
F(2)=1,
F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
●python代碼實(shí)現(xiàn):
●python輸出結(jié)果:
11235813213455
2、計(jì)算階乘
fact(1)=1
fact(n)=n!=1x2x3x...x(n-1)xn=(n-1)!xn=fact(n-1)xn
●python代碼實(shí)現(xiàn):
●python輸出結(jié)果:
120
3、求1-2+3-4+5...100的所有數(shù)的和
sum(1)=1
sum(n)=sum(n-1)+n
●python代碼實(shí)現(xiàn):
●python輸出結(jié)果:
5050
4、逆向輸出字符串
輸入:abcde
輸出:edcba
●python代碼實(shí)現(xiàn):
●python輸出結(jié)果:
請(qǐng)輸入若干字符:
abcde
edcba
三、遞歸函數(shù)總結(jié)
學(xué)習(xí)遞歸要掌握遞歸的三大要素,第一要素:明確你這個(gè)函數(shù)想要干什么;第二要素:尋找遞歸結(jié)束條件;第三要素:找出函數(shù)的等價(jià)關(guān)系式。