遞迴與遞推設計 猴子爬山問題 農夫圈羊問題
阿新 • • 發佈:2019-01-25
1. 猴子爬山問題
一個頑猴在一座有100級臺階的小山上爬山跳躍,
猴子上山一步可跳1級,或跳2級,試求上山的100級
臺階有多少種不同的爬法。
遞推演算法設計
一般地有遞推關係:
f(k)=f(k-1)+f(k-3) (k>3)
初始條件有:
f(1)=1; 即1=1。
f(2)=2; 即2=1+1。2=2
f(n)=f(n-1)+f(n-2)
類似非波那數列
要求用大數演算法。
2. 農夫圈羊問題
農夫要修一個20m*20m*2m的羊欄,現在有1m*2m和2m*2m的木板,需要在拐角處留一個1米寬2米高的門 計算共有多少種建法?
分析: F1=1
F2=3
F3=F2+2*F1
…………
Fn=F(n-1)+2*F(n-2)
F(n-1)+一個1*2;F(n-2)+1個2*2;F(n-2)+兩個1*2橫著。(F(n-2)+2個1*2豎著是F(n-1)+一個1*2的一部分)
F20=F19(F19+一個1*2)
F40=F39
F60=F59
用大數演算法