求第n項斐波那契數列數列的優化解法

2021-08-21 20:13:40 字數 426 閱讀 9326

在下覺得解法挺好的,便斗膽寫在部落格中存下,若有任何侵犯之處,請指出,必當處理

現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。

php版本,很簡單,閱讀應該沒問題

function

fibonacci

($n)

return

$current;

}

可以看出,這是利用兩個變數反覆相加,始終儲存正在計算的兩個項,其中$current相當於$array[$n],$next相當於$array[$n+1]。只儲存兩個變數,節省了記憶體空間(在牛客網的測試平台上,如果儲存整個數列,需要空間為8000k左右,而此方法只需4000k左右,空間減半),但因為沒有儲存整個數列,所以有其侷限性,只能得到指定項的值。

求斐波那契數列的第n項

斐波那契數列的定義如下 f 0 0 f 1 1 f n f n 1 f n 2 n 2 1,1,2,3,5,8,13,21,34,55,89,144,233,377,給出n,求f n 由於結果很大,輸出f n 1000000009的結果即可。input 輸入1個數n 1 n 10 18 output...

求斐波那契數列的第n項

問題描述 斐波那契數列是這樣的乙個數列,1,1,2,3,5,8,即前兩項都是1,後面每一項都是其前面兩項的和。現在要你求出該數列的第n項。解法一 遞迴演算法。很多教科書上都用這個題作為函式遞迴知識點講解的例題,我們可以將每乙個項的求法表達為這樣乙個式子 f n f n 1 f n 2 f 1 1,f...

斐波那契數列第n項

1 斐波那契數列第n項 在斐波那契數列中,fib0 0,fib1 1,fibn fibn 1 fibn 2 n 1 給定整數n,求fibn mod10000。輸入格式 輸入包含多組測試用例。每個測試用例佔一行,包含乙個整數n。當輸入用例n 1時,表示輸入終止,且該用例無需處理。輸出格式 每個測試用例...