N阶楼梯上楼问题
题目描述:
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入:
输入包括一个整数N,(1<=N<90)。
输出:
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
样例输入:
4
样例输出:
5
代码
#include<iostream>
using namespace std;
const int N = 91;
long long F[N]; //记录上楼的方式数
int main()
{
//初始化
F[1] = 1;
F[2] = 2;
//求解
for (int i = 3; i <= N; i++)
F[i] = F[i - 2] + F[i - 1];
//输出
int n;
while (cin >> n && n > 0)
cout << F[n] << endl;
return 0;
}