10 求解斐波那契數列

2021-10-02 21:55:10 字數 973 閱讀 8714

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

f(0) = 0, f(1) = 1

f(n) = f(n - 1) + f(n - 2), 其中 n > 1.

斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例 1:

輸入:n = 2

輸出:1

示例 2:

輸入:n = 5

輸出:5

解法:可以通過遞迴和迴圈的方式來求解,但是自頂向下遞迴的過程中存在大量的重複計算,導致浪費時間。

可以通過自底向上的迴圈進行計算,可以避免重複計算。

solution(自底向上):

class solution 

return result;

}};

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

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例 1:

輸入:n = 2

輸出:2

示例 2:

輸入:n = 7

輸出:21

解法:與斐波那契數量是一樣的,這裡的數列相當於斐波那契數列往後移動了一位。

solution:

class solution 

return result;

}};

斐波那契數列求解

斐波那契數列是一種常見的數列,其滿足下面兩個條件 f0 f1 1 fn fn 1 fn 2 斐波那契數列求解def fib1 n if n 2 return 1 return fib1 n 1 fib1 n 2 不適用遞迴 python def fib2 n f1 f2 1 for i in ran...

斐波那契數列10

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 斐波那契數列屬於經典的遞迴問題,對於這題的求解,我們首先要知道斐波那契數列的狀態轉移式,即f n f n 1 f n 2 且在n 1或2時,f n 1。public static int feibol...

10 斐波那契數列

效率對比 遞迴與非遞迴。差距很大。include using namespace std long long fibonacci unsigned int n if n 1 return fibonacci n 1 fibonacci n 2 long long fibonacci2 unsigne...