斐波那契以兔子繁殖為切入,提出乙個古典問題: 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
其數列是0、1、1、2、3、5、8、13、21、34、……
在數學上,斐波納契數列以如下被以遞迴的方法定義: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n≥2,n∈n*)
我剛好前幾天看到google的乙個面試題,題目是這樣的:
假設你正在爬m階樓梯,每次你只能爬一階或者兩階,你能有多少種不同的方法爬到樓頂部?
其實,這完全可以運用到斐波那契數列。
以a(m)表示m階階梯所需要的step。
那麼快爬完樓梯的時候,最後一步無非兩種情況,一種:只需要邁一階即可。另一種:只需要邁兩階即可爬完樓梯。
於是a(m)=a(m-1)+a(m-2)
a(m-1)=a(m-2)+a(m-3)
a(m-2)=a(m-3)+a(m-4)
………而當m=1時 a(1)=1 m=2時 a(2)=2
這樣便可以遞迴出a(3),a(4)……直到a(m)
符合斐波那契數列特點:f(n)=f(n-1)+f(n-2)
此題便解出。
爬樓梯問題的推廣:
特例: 那麼如果步子不僅僅是一階或者二階,假設一步至多邁m階,
則 a(m)=a(m-1)+a(m-2)+…..+a(1)+a(0)
a(0)表示之前沒邁一步,之後一步邁完m階
a(0)=1;a(1)=1,a(2)=2;
遞推得: a(3)=a(2)+a(1)+a(0) =4
a(4)=a(3)+a(2)+a(1)+a(0) =8
a(5)=a(4)+a(3)+a(2)+a(1)+a(0) =16
…得a(m)=2^(m-1);
推廣: m階樓梯,假設一步邁n階
當(1《n《m) 即一步至多m階,同特例 由特列知 a(m)=2^(m-1);
當(1《na(m)=a(m-1)+a(m-2)+…..+a(m-n)
遞迴可得a(m)
迴圈斐波那契數列 斐波那契數列應用
什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...
斐波那契數列(藍橋刷題)
問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10...
斐波那契數列應用
斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一種登法 登上兩級台階,有兩種登...