斐波拉契數列求項及求和

2021-09-10 07:04:17 字數 664 閱讀 9233

斐波那契數,通常用f(n)表示,形成的序列稱為斐波那契數列。該數列由01開始,後面的每一項數字都是前面兩項數字的和。也就是:

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

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

給定n,計算f(n)

解法一、遞迴

解法二、上面的遞迴演算法,每次都要把所有項算一遍,即計算f(1000)需要講前999個全部計算一遍,計算f(1001又需要再計算一次,這種演算法越到後面越慢。我們可以將已經計算過的結果儲存到乙個陣列中,以空間換取時間

class solution ;

for(int i = 2;i <= n;i++)

return res[n];}};

執行結果:

快速求斐波拉契數列

首先,我們先計算如下的式子 f i f i 2 f i 1 f i 3 2f i 2 2f i 4 3f i 3 這時,我們假設當前為 f i a f j b f j 1 則是不是 f i a b f j 1 a f j 2 等等,係數是不是有點眼熟 1,1,2.a,b,a b 這不正是斐波拉契數列...

斐波拉契數列

斐波拉契數列 1 1 2 3 5 8 13 21 34.其中每乙個數字都是前兩個數字的和。遞迴計算 long fibonacci int n 非遞迴計算 long fibonacci int n return result 這個函式的遞迴實現使用了雙重遞迴 double recursion 函式對本...

斐波拉契數列

編寫彙編程序列印1 1000的斐波拉契數列 原始碼assume cs code,ss stack,ds data data segment fibo dw 0,1,64 dup 0 str db the fibo list is 0ah,0dh,data ends stack segment db ...