读书人

不显示删除回复显示所有回复显示星级回

发布时间: 2012-04-09 13:41:25 作者: rapoo

不显示删除回复显示所有回复显示星级回复显示得分回复 一道个人认为很难的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;} 

读书人网 >C++

热点推荐