九度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];

 
原文地址:https://www.cnblogs.com/qinduanyinghua/p/6497048.html