寫乙個函式,輸入n,求斐波那契數列的第n項。

2021-09-23 08:15:17 字數 507 閱讀 9656

劍指offer——求斐波那契數列第n項。

之前我寫過一些遞迴與非遞迴的練習,其中包括了斐波那契數列,感興趣的可以看一下其他例題。

1.大家對遞迴演算法求斐波那契數列是很熟悉的。分析遞迴的求解過程就會發現,遞迴有很嚴重的效率問題。對於規模較大的問題,遞迴占用的空間大,花費的時間長。

#define _crt_secure_no_warnings 1

#include#includeint fib(int n)

else }

int main()

2。非遞迴(迭代)演算法。遞迴之所以慢是進行了大量的重複性工作。那麼我們避免重複運算就可以提高效率。我們可以把已經得到的數列中間項儲存起來,下次計算時先查詢一下就好了。

#include #includeint fib(int n)

else

return c; }}

int main()

求斐波那契數列

一 用陣列求取斐波那契數列第n項的數值 非遞迴 斐波那契數列求取思想 第n項 第n 1項 第n 2項 function getvalue n var j 0 while j n 1 return arr j else alert getvalue 8 求第八項的值 二 使用遞迴求取第n項的值 fun...

乙個斐波那契數列演算法

這是我的筆試臨場發揮,寫的有點low。def fib n i,a,b 1,0,1 while true if i n a,b b,a b i 1 else return b思考 迴圈判斷條件是不是可以優化?def fib n i,a,b 1,0,1 while i n a,b b,a b i 1 r...

php 寫斐波那契數列

斐波那契數列 fibonacci sequence 又稱 分割數列,因數學家萊昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 34 在數學上,斐波那契數列以如下被以遞推的方法定義 f ...