[Al]算法:有n級階梯,每次走1步或2步,最多有多少種走法

 

/*****************************************************************
*   @Filename   :   floor.c
*   @Author     :   Mr.Zhong
*   @Date       :   2018-11-02
*   @Description:   n級階梯,每次走一步或2步,最多有多少種走法
*   @Analysis   :   斐波那契數列 -> 遞歸思維
***************************************************************/
#include <iostream>

using namespace std;

int getStepNum(int n)
{
    if(n < 0)
        return 0;
    if(n == 0 || n ==1 || n ==2)
        return n;
    if(n > 2)
        return getStepNum(n-1)+getStepNum(n-2);
}

int main()
{
    int levels;
    cout<<"Please enter how many levels of stairs :"<<endl;
    cin>>levels;

    int method = getStepNum(levels);
    cout<<"There are  "<<method<<" methods in total"<<endl;
    return 1;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章