算法1
思路:深度递归,相当于斐波那切数列,分析下来就是递归搜索树,思路好巧啊
C++ 代码
#include<iostream>
using namespace std;
int n;//把n和cnt定义为全局变量,在函数里面可以直接用
int cnt;
void f(int k){
if(k==n) cnt++;//递归搜索树,比如这里n=5的时候,执行到5,说明一直能走下去,cnt++
else if(k<n){
f(k+1);//未到5,可以走一级台阶
f(k+2);//未到5,可以走两级台阶
}
//k>5直接return,这里没有写
}
int main(){
cin>>n;
f(0);//从第0级台阶开始
cout<<cnt<<endl;
return 0;
}