跳臺階,生小兔(斐波那契數(shù)列)

題目描述: 一個臺階總共有n級,如果一次可以跳1級,也可以跳2級。求總共有多少總跳法。
分析:
臺階數(shù) 1 2 3 4 5
方法數(shù) 1 2 3 5 8
最終你會發(fā)現(xiàn)規(guī)律:f(n) = f(n-1)+f(n-2) ; n>=3時
遞歸方法:

function methodNum(num) {
    if(num>0&&num<3){
        return num;
    }else if(num>=3){
        return methodNum(num-1)+methodNum(num-2);
    }
}

非遞歸方法:

function methodNum(n) {
    if(n<3){
        return n;
    }
    var res = 0;
    var resOne = 1;
    var resTwo = 2;
    for(var i=3;i<=n;i++){
        res = resOne+resTwo;
        resOne = resTwo;
        resTwo = res;
    }
    return res;
}

還有一種瘋狂跳臺階,是普通跳臺階的升級版。
題目描述:一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法?
遞歸方法:

function tmp(num) {
    if(num===1){
        return 1;
    }else {
        return tmp(num-1)*2;
    }
}

非遞歸法:

function tmp(num) {
    return Math.pow(2,num-1);
}

本人寫的比較簡陋,具體的分析過程沒寫,想看的可看鏈接

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容