js實現斐波那契數列


1:遞歸

function fb1(n){
    if(n <= 2){
        return 1;   
    }else{
        return fb1(n-1) + fb1(n-2);
    }
}

 

  

2:for 循環(迭代)

function getFib(num) {
      var num1 = 1;
      var num2 = 1;
      var sum = 0;
      for (var i = 3; i <= num; i++) {
        sum = num1 + num2;
        num1 = num2;
        num2 = sum;
      }
      return sum;
    }

3:閉包

const fb4 = function(){
    var mem = [0,1];
    var f = function(n){
        var res = mem[n];
        if(typeof res !== 'number'){
            mem[n] = f(n-1) + f(n-2);
            res = mem[n];
        }
        return res;
    }
    return f;
}();

  


免責聲明!

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



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