上台阶
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上台阶相关的知识,希望对你有一定的参考价值。
上台阶
总时间限制: 1000ms
内存限制: 65536kB
- 描述
-
楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。
- 输入
- 输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。
- 输出
- 每一行输出对应一行输入的结果,即为走法的数目。
- 样例输入
-
1 2 3 4 0
- 样例输出
-
1 2 4 7
程序:#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <iostream> using namespace std; int lou(int x){ int a[x]; a[1]=1; a[2]=2; a[3]=4; for(int i=4;i<=x;i++){ a[i]=a[i-1]+a[i-2]+a[i-3]; } return a[x]; } int n; int main(){ while(scanf("%d",&n)&&n!=0){ cout<<lou(n)<<endl; } return 0; }
分析:利用递归,当到n-1阶时,有a[n-1]种方案,当到n-2阶时,有a[n-2]种方案,当到n-3阶时,有a[n-3]种方案,以此递归。
以上是关于上台阶的主要内容,如果未能解决你的问题,请参考以下文章