创建函数,传递一个数字n,返回斐波那契数列的第n的值。

斐波那契数列

 第1项和第2项的值是1,从第3项开始,每项的值是前两项相加的和

1   1   2    3    5    8    13    21......

法1:

function fn(n){
   var a=1,b=1;
   for(var i=3; i<=n;i++){
      //循环体就是要执行的挪动
      //a的值为上一次b的值
     //b的值是上一次a和b的和
     var c=a;
     a=b;
     b=c+b;
   }
   return b;
}
var r=fn(5);
console.log(r);

法2:函数调用

function fn(n){
    if(n===1 || n===2){
        return 1;
    }
    return fn(n-1) +fn(n-2);
}
var r = fn();
console.log(r);

 

posted @ 2020-04-22 18:53  L小洁  阅读(951)  评论(0编辑  收藏  举报