2287: 上台阶

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:10 解决:7

题目描述

楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。

输入

输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。

输出

每一行输出对应一行输入的结果,即为走法的数目。

样例输入 复制

1
2
3
4
0

样例输出 复制

1
2
4
7

提示

#include<bits/stdc++.h>
using namespace std;

long long a[110];

int main(){
	int t;
    a[1]=1;
    a[2]=2;
    a[3]=4;
    for (int i=4;i<=90;i++) {
    	a[i]=a[i-3]+a[i-2]+a[i-1];
	}
	while (cin>>t) {
		if (t==0)
		    break;
		cout<<a[t]<<endl;
	}
    
	return 0;
}