js斐波那契-青蛙跳台阶

青蛙跳台阶,台阶数量n,青蛙可以每次跳1节或者2节台阶,问有多少种跳法可以跳到顶部?

//递归写法
function f(n){
    if(n<=0){
      throw new Error('n should > 0')
    }
    if(n<=2){
        return n;
    }
    return f(n-2)+f(n-1)
}
//循环写法
function f(n){
    if(n<=0){
      throw new Error('n should > 0')
    }
    if(n<=2){
        return n;
    }
    let last2=1,last1=2;
    for(let i=3;i<=n;i++){
        last1=last2+(last2=last1);
    }
    return last1;
}

 

posted @ 2023-09-26 00:25  暴燥的小蓝鲸  阅读(26)  评论(0)    收藏  举报