题目描述
小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

输入描述:
输入包含一个整数n (1 ≤ n ≤ 30)
输出描述:
输出一个整数,即小乐乐可以走的方法数。

解题思路
因为走到第三个楼梯的时候可以从第一阶和第二阶直接走上来;
同理,第四个楼梯的时候可以从第二阶和第三阶直接走上来;
第五个楼梯的时候可以从第三阶和第四阶直接走上来;
… …

所以可以得出公式

a[i]=a[i-1]+a[i-2]
其中有a[0]=0,a[1]=1,a[2]=2;

代码

#include <iostream>

using namespace std;
int a[35]={0};//初始化数组为0
int main(){
     a[0] = 0;
     a[1] = 1;
     a[2] = 2;//先给出头三个值
     int n;
     cin>>n;
     for(int i =3; i <= n; ++i){//根据递推公式,计算即可
        a[i] = a[i-1] + a[i-2];
     }
     cout<<a[n]<<endl;
    return 0;
}