题目描述
英俊潇洒的涛哥喜欢爬楼梯锻炼身体,因为涛哥腿的长度有限,上楼时一次能跨的台阶有三种,1个台阶或2个台阶或3个台阶,现在给出n个台阶,问一共有几种爬楼梯的方法?
输入
一行,一个整数n(1≤n≤20),表示台阶总数。
输出
一行,一个整数,表示共有多少种方法。
样例输入 Copy
4样例输出 Copy
7
递推式 a[n]=a[n-1]+a[n-2]+a[n-3]
代码:
#include <iostream>
using namespace std;
int main()
{
int a[100];
int n,i;
cin>>n;
a[1]=1;a[2]=2;a[3]=4;
for(i=4;i<=n;i++)
a[i]=a[i-1]+a[i-2]+a[i-3];
cout <<a[n]<< endl;
return 0;
}