821. 跳台阶
一个楼梯共有 $n$ 级台阶,每次可以走一级或者两级,问从第 $0$ 级台阶走到第 $n$ 级台阶一共有多少种方案。
输入格式
共一行,包含一个整数 $n$。
输出格式
共一行,包含一个整数,表示方案数。
数据范围
$1≤n≤15$
输入样例:
5
输出样例:
8
AC代码
#include <iostream>
using namespace std;
int dfs(int n){
if(n == 0) return 1;
if(n < 0) return 0;
return dfs(n-1) + dfs(n-2);
}
// 错误写法,这会导致dfs(-1)的返回值随机====>应该变成了-1了。
// int dfs(int n){
// if(n == 0) return 1;
// if(n > 0) return dfs(n-1) + dfs(n-2);
// }
int main()
{
int n;cin >> n;
cout << dfs(n);
return 0;
}