js實現菲波那切數列的兩種常用方法

2021-09-08 13:32:44 字數 542 閱讀 7566

菲波那切數列即:1 1 2 3 5 8......,後面的數字是前面兩個數字的和,並且第乙個,第二個數字都是1,用js實現

的兩種方法,一種通過常用的遞迴呼叫,第二種不通過遞迴,而是通過強大的閉包實現。

1.遞迴實現

//

fab 1 1 2 3 5 8

function

fab(num)

else

}alert(fab(5))

2.閉包實現。閉包主要在於:1.模擬物件導向 封裝資料 2.儲存資料,因為如果把i,j定義在函式外面,將成為全域性變數,不安全,因為會被呼叫修改,而

用閉包可以很好的封裝資料,不用遞迴一樣可以實現同樣的功能,更常用。

//閉包

1.模擬物件導向 封裝資料2.儲存資料

var fib = (function

()

return

res;

}})();

document.write(fib(5));

js 菲波那切數列

js 實現菲波那切數列 菲波那契數列指的是這樣乙個數列 1,2,3,4,5,6,7,8,9,10 1,1,2,3,5,8,13,21 34,55 89 144 輸入 第 n項,輸出第n項的值 即輸入3,輸出3 輸入5,輸出5 輸入6,輸出8 1 第一種方法,用遞迴的方法 function fun n...

菲波那切數列數列的3種實現

斐波那契數,亦稱之為斐波那契數列 義大利語 successione di fibonacci 又稱 分割數列 費波那西數列 費波拿契數 費氏數列,指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 0,f 1 1,fn f n 1 f ...

迴圈斐波那契數列 斐波那契數列的兩種實現

最先研究這個數列的人是義大利人斐波那契,leonardo fibonacci,他在描述兔子生長的數目時用上了這數列 每個月兔子的總對數,就是這樣乙個序列 1,1,2,3,5,8,13,21.這個序列從第三項開始,每一項都等於前兩項之和。在數學上,斐波那契數列是以遞迴的方法來定義 f 1 1 f 2 ...