不显示删除回复显示所有回复显示星级回复显示得分回复 一道个人认为很难的C语言编程题,求高人给出源代码(+)
上楼梯
时间限制: 1000ms
内存限制: 10000kB
描述
一个人上楼梯,他可以一步上1级,可以一步上2级,也可以
一步上3级,现在楼梯一共有N级,有多少种不同的上法
(注意:当上到还剩下1级就到达时,不能直接上2级且不能
直接上3级,当上到还剩下2级就到达时,不能直接上3级),
输入
输入第一个数是M,表示M组测试数据,接下来有M行,每组测试数
据一行,为一个N(1<=N<=35)
输出
对于每一个测试数据,输出对应的不同的上楼梯方法
样例输入
3
1
5
10
样例输出
1
13
274
[解决办法]
- C/C++ code
#include <iostream>using namespace std;int main(){ int a[36]; a[0]=1; a[1]=1; a[2]=2; int m,j; int b[100]; cin >> m; for (j=0;j<=m-1;j++) cin >> b[j]; for (j=3;j<=35;j++) a[j]=a[j-1]+a[j-2]+a[j-3]; for (j=0;j<=m-1;j++) cout << a[b[j]] << endl; return 0;}