计算机考研复试真题 N阶楼梯上楼问题
题目描述
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入描述:
输入包括一个整数N,(1<=N<90)。
输出描述:
可能有多组测试数据,对于每组数据, 输出当楼梯阶数是N时的上楼方式个数。
示例1
输入
4
输出
5
/*程序设计思想:类似于斐波拉契数列,采用迭代思想。*/ #include <iostream> using namespace std; long long F[100]; int main() { F[1] = 1; F[2] = 2; int n; while (cin >> n) { if(n==1) cout<<F[1]<<endl; else if(n==2) cout<<F[2]<<endl; else{ for (int i = 3; i <=n; i++) F[i] = F[i - 1] + F[i - 2]; cout << F[n] << endl; } } return 0; }