斐波那契數列

2021-10-13 17:38:20 字數 936 閱讀 1346

描述:斐波那契數列(fibonacci sequence),指的是這樣乙個數列: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*)

具體展開:斐波那契數列可以衍生為一些實際問題,比如爬樓梯問題和兔子繁殖問題

爬樓梯問題:小明爬樓梯,他一次可以爬1階樓梯或者2階樓梯。如果爬1階樓梯,共有1種方法;爬2階樓梯,共有2種方法;爬3階樓梯,共有3種方法;爬4階樓梯,共有5種方法…如果爬n階樓梯,共有多少種方法?這顯然是乙個斐波那契數列,f(n)=f(n-1)+f(n-2)。同時也可以這樣理解:如果要爬到n階,那麼這個人必須先爬到n-1階或者n-2階。如果爬到n-1階,那麼只需要一次爬1階就可以到達n階;如果爬到n-2階,那麼只需要一次爬2階就可以到達n階。所以,爬到n階的方法=爬到n-1階的方法+爬到n-2階的方法。

兔子繁殖問題:有1只兔子,從出生後第3個月起每個月都生1只兔子,小兔子長到第3個月後每個月又生1只兔子,假如兔子都不死,問每個月的兔子總數為多少?

第1個月,有1只兔子;第2個月,有1只兔子;第3個月,有2只兔子;第4個月,有3只兔子;第5個月,有5只兔子…這顯然又是乙個斐波那契數列,f(n)=f(n-1)+f(n-2)。同時也可以這麼理解:要求第n個月的兔子,首先第n-1個月的兔子在第n個月全部活著,即有f(n-2)只兔子。而對於第n-2個月的兔子,一部分是最新出生的兔子(第n個月就是他們的第3個月),一部分是老兔子。所以第n-2個月的所有兔子都在第n個月生1只兔子,即有f(n-2)只兔子。最終可以得到f(n)=f(n-1)+f(n-2)。

以下是具體**:

#include

intmain()

printf

("%d\n"

,f[n-1]

);}return0;

}

斐波那契數列 斐波那契數列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秒,整數的...