js寫出斐波那契數列


斐波那契數列:1、1、2、3、5、8、13、21、34、……

函數:

使用公式f[n]=f[n-1]+f[n-2],依次遞歸計算,遞歸結束條件是f[1]=1,f[2]=1。

for循環:

從底層向上運算, 

a(0)+a(1)->a(1) //第0個數字+第1個數字=第2個數字
a(1)+a(1)->a(2) //第1個數字+第2個數字=第3個數字
a(2)+a(3)->a(5) //第2個數字+第3個數字=第4個數字
······
a(n-1)+a(n-2)->a(n)

因此,在循環中只要定義三個變量,便能將最后的f(n)求出來

 

function fn(n){ if(n==1|n==2){ return 1;} //因為斐波那契數列格式為:1、1、2、3、5、8、13、21、34、......,n=1和n=2的時候都是輸出1
return fn(n-1)+fn(n-2); //不斷調用自身函數,n-1是穿進去的參數的前一次,就是最后n的前一個數字。所以n-2是最后傳入參數的前兩個數字。
} //用函數寫出斐波那契數列

var n=parseInt(prompt('請輸入一個數字')); var a1=1; var a2=1; var a3=0; for(var i=2;i<=n;i++){//因為前兩個數都是1,所以要從i=2開始,就是前兩個數的1+1=2,i的初始值其實是第三個數
a3=a1+a2;//第三個數等於第一個數加上第二個數
a1=a2;//第一個數就變成了之前的第二個數
a2=a3;//第二個數就變成了剛剛的第三個數
} console.log(a3); //使用for循環寫出斐波那契數列

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM