我本来不知道发什么,然后我看到了这个
我想难度这么高我就写了,先看题目
说明
楼梯有n(71>n>0)阶台阶,上楼时可以一步上11阶,也可以一步上22阶,也可以一步上33阶,编程计算共有多少种不同的走法。
输入格式
输入的每一行包括一组测试数据,即为台阶数n。最后一行为00,表示测试结束。
输出格式
每一行输出对应一行输入的结果,即为走法的数目。
样例
输入数据 1
1
2
3
4
0
Copy
输出数据 1
1
2
4
7
接下来是代码
#include <iostream>
#include <cstdio>
using namespace std;
long long s[100];
int main() {
int data;
s[1]=1;
s[2]=2;
s[3]=4;
for(int i=4; i<100; i++) {
s[i]=s[i-1]+s[i-2]+s[i-3];
}
while(scanf("%d",&data)==1&&data) {
cout<<s[data]<<endl;
}
return 0;
}
上面是题目讲解了