题目描述
一个楼梯共有 n级台阶,每次可以走一级或者两级,问从第 0级台阶走到第 n级台阶一共有多少种方案。
输入格式
共一行,包含一个整数 n。
输出格式
共一行,包含一个整数,表示方案数。
解题思路
在myFunction函数里面,我们相当于生成了一个树状图,而return对应的就是一个个节点,最后的树支数就是方法数
而具体对myFunction的理解就是如果x==n就是一个方案,如果大于了就返回上一个节点,如果小于了就产生两个分支
要注意的是return不是指输出某个值,而是返回上一个节点
C++ 代码
#include <iostream>
using namespace std;
int res,n;
void myFunction(int x){
if(x==n){
res++;
}
if(x>n){
return;
}else{
myFunction(x+1);
myFunction(x+2);
}
}
int main(){
cin>>n;
myFunction(0);
cout<<res;
return 0;
}
篇章
上一篇:AcWing 818. 数组排序
https://www.acwing.com/file_system/file/content/whole/index/content/10386592/
下一篇:AcWing 822. 走方格
https://www.acwing.com/solution/content/211675/