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