编辑代码

#include <iostream>
#include <map>
using namespace std;
unsigned long cal(size_t n,  size_t stepWalkAway)
{
    if(n==1)
    {
        if(stepWalkAway%2 == 0)
            return 0; 
        return 1;
    }
    else if(n==2)
    {
        return 1;
    }
    else
    {
        return cal(n-1,stepWalkAway+1)+cal(n-2,stepWalkAway+1);
    }
}
int main()  
{
    size_t n, stepWalkAway = 0;
    cout << "请输入你要走的台阶数 n :" ;
    cin >> n;
    cout << "左脚开走,右脚走到有 " << cal(n,stepWalkAway) << " 种方案。" << endl;
    return 0;
}