跳台阶
一个楼梯共有n级台阶,每次可以走一级或者两级,问从第0级台阶走到第n级台阶一共有多少种方案。
输入格式
共一行,包含一个整数n。
输出格式
共一行,包含一个整数,表示方案数。
数据范围
1≤n≤15
输入样例:
5
输出样例:
8
思路:
第0级台阶到第1级台 只有一种方法 上1级台阶
第0级台阶到第2级台 有两种方法 1种是0-2 上2级台阶 1种是上到1级台阶 再上2级台阶
第0级台阶到第3级台 有两种方法 1种是0-2 再2-3 1种是0-1 1-3 (其中0-1 1-2 2-3已经包含在前面的方法中了)
逆向来看就是 n台阶的方案数量 = n-1台阶方案数量 + n-2的方案数量
#include <iostream>
using namespace std;
int arr[20];
int main()
{
int n;
cin >> n;
arr[1] = 1; arr[2] = 2;
for(int i = 3;i <=15;i++){
arr[i] = arr[i-1]+arr[i-2];
}
cout << arr[n];
return 0;
}