题目描述
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入描述:
输入包括一个整数N,(1<=N<90)。
输出描述:
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
示例1
输入
4
输出
5
题目解析:简单的动态规划问题
代码:
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<string.h>
#include<iostream>
#include<iomanip>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
//递归,无脑
int rst(int n){
if(n == 0){
return 1;
}else if(n == 1){
return 1;
}
return rst(n - 1) + rst(n - 2);
}
int main()
{
int n;
while(cin >> n){
cout << rst(n) << endl;
}
return 0;
}