斐波那契數列幾乎是每乙個學習程式設計的人都繞不開的一道筆試題;斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「兔子數列」,指的是這樣乙個數列: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*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從2023年起出版了以《斐波納契數列季刊》為名的乙份數學雜誌。
以兔子繁殖為例:
養兔子時候發現的非常有意思的數列:
第乙個月小兔子沒有繁殖能力,所以還是一對;
兩個月後,生下一對小兔總數共有兩對;
三個月以後,老兔子又生下一對,因為小兔子還沒有繁殖能力,所以一共是三對;
……依次類推可以列出下表:
流程控制語句有沒有掌握,把這道斐波那契數列的面試題做出來就能測試出來了。具體**:
public class fibonacci
system.out.println();
// 通過迭代計算,效率很低
for (int i = 1; i <= 12; i++)
}private static int getfibonacci(int index)
return getfibonacci(index - 1) + getfibonacci(index - 2);}}
有趣的是,這樣乙個完全是自然數的數列,通項公式卻是用無理數來表達的。而且當n趨向於無窮大時,前一項與後一項的比值越來越逼近**分割0.618(或者說後一項與前一項的比值小數部分越來越逼近0.618)。
1÷1=1,1÷2=0.5,2÷3=0.666...,3÷5=0.6,5÷8=0.625…………,55÷89=0.617977……………144÷233=0.618025…46368÷75025=0.6180339886…...
越到後面,這些比值越接近**比.
排列組合
1,有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?
這就是乙個斐波那契數列:登上第一級台階有一種登法;登上兩級台階,有兩種登法;登上**台階,有三種登法;登上四級台階,有五種登法……
1,2,3,5,8,13……所以,登上十級,有89種走法。
類似的,一枚均勻的硬幣擲10次,問不連續出現正面的可能情形有多少種?
答案是(1/√5)*=144種。
求遞推數列a⑴=1,a(n+1)=1+1/a(n)的通項公式
由數學歸納法可以得到:a(n)=f(n+1)/f(n),將斐波那契數列的通項式代入,化簡就得結果。
數學謎題
三角形的三邊關係定理和斐波那契數列的乙個聯絡:
現有長為144cm的鐵絲,要截成n小段(n>2),每段的長度不小於1cm,如果其中任意三小段都不能拼成三角形,則n的最大值為多少?
分析:由於形成三角形的充要條件是任何兩邊之和大於第三邊,因此不構成三角形的條件就是存在兩邊之和不超過另一邊。截成的鐵絲最小為1,因此可以放2個1,第三條線段就是2(為了使得n最大,因此要使剩下來的鐵絲盡可能長,因此每一條線段總是前面的相鄰2段之和),依次為:1、1、2、3、5、8、13、21、34、55,以上各數之和為143,與144相差1,因此可以取最後一段為56,這時n達到最大為10。
我們看到,「每段的長度不小於1」這個條件起了控制全域性的作用,正是這個最小數1產生了斐波那契數列,如果把1換成其他數,遞推關係保留了,但這個數列消失了。這裡,三角形的三邊關係定理和斐波那契數列發生了乙個聯絡。
在這個問題中,144>143,這個143是斐波那契數列的前n項和,我們是把144超出143的部分加到最後的乙個數上去,如果加到其他數上,就有3條線段可以構成三角形了。
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...
迴圈斐波那契數列 斐波那契數列應用
什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...
斐波那契數列
1 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。斐波那契數列的定義如下 輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入包括乙個整數n 1 n 70 輸出 對應每個測試案例,輸出第n項斐波那契數列的值。2 這是九度上的乙個題,要求時間限制1秒,整數的...