九度oj 题目1205:N阶楼梯上楼问题
题目1205:N阶楼梯上楼问题
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:4990
解决:2039
- 题目描述:
-
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
- 输入:
-
输入包括一个整数N,(1<=N<90)。
- 输出:
-
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
- 样例输入:
-
4
- 样例输出:
-
5
1 #include <iostream> 2 using namespace std; 3 int main(){ 4 long long a[90]; 5 int n; 6 a[1] = 1; 7 a[2] = 2; 8 for(int i = 3; i < 90; i++) 9 a[i] = a[i - 1] + a[i - 2]; 10 while(cin >> n){ 11 cout << a[n] << endl; 12 } 13 //system("pause"); 14 return 0; 15 }
a[i]表示到第i阶梯有多少种走法,由于一次可以走一阶或两阶,所以a[i] = a[i-1] + a[i-2];
越努力,越幸运