甲是个非常好奇的人,他每天都会思考一些奇怪的问题,比如爬楼梯的时候,他就会想,如果每次可以上一级台阶,两级台阶或者三级台阶,那么上 n(1≤n<=30) 级台阶一共有多少种方案?
输入格式:一个整数n
输出格式:输出方案数
#include<iostream>
using namespace std;
int main(){
int a[31];
int n;
cin>>n;
a[1]=1;
a[2]=2;
a[3]=4;
for(int i=4;i<=n;++i){
a[i]=a[i-1]+a[i-2]+a[i-3];
}
cout<<a[n];
return 0;
}