9 斐波那契數列

2021-07-04 09:55:57 字數 820 閱讀 6568

寫乙個函式,輸入n,求斐波那契數列(fibonacci)數列的第n項,斐波那契數列的定義為:

方法一:用遞迴的方法來求斐波那契數列

方法二:用迴圈來求斐波那契數列,用簡單的方法從下往上計算,先計算根據f(0)、f(1)計算出f(2),在根據f(1)、f(2)計算出f(3)……依次計算到f(n)。時間複雜度為o(n)。

//斐波那契數列遞迴方法

long

long fibonacci_solution1(unsigned

int n)

//斐波那契數列迴圈方法

long

long fibonacci_solution2(unsigned n)

return fibn;

}

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。

思考:當n>2時,第一次跳的時候有兩種選擇,一是第一次跳1級,此時跳法數目等於後面剩下的n-1級台階的跳法數目,即為f(n-1);另一種選擇是第一次跳2級,此時跳法數目等於後面剩下的n-2級台階的跳法數目,即為f(n-2);因此n級台階的跳法總數為f(n-1)+f(n-2)。即為斐波那契數列。

乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。

思考同上!

我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?

題目9 斐波那契數列

斐波那契數列 1.原始方法 經典方法 includeusing namespace std long long fibonacci unsigned n 2.改進方法,將已經計算出的值儲存起來 下次直接使用,不用再次計算。f 0 f 1 得f 2 f 0 f 1 f 3 f 2 f 1 long l...

斐波那契數列 斐波那契數列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級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...