题目描述:
楼梯有n级台阶,上楼可以一步上1级,也可以一步上2级,计算有多少种不同的走法
输入描述:
一个正整数n,占一行
输出描述:
一个整数,占一行,问题的结果,数据保证输出在32位有符号整型数据范围内。
样例输入:
20
33
样例输出:
10946
5702887
#include <iostream>
using namespace std;
int climbstairs(int n)
{
int a[10001]={0};
int i;
a[0]=0;
a[1]=1;
a[2]=2;
if(n>10000)
return 0;
for(i=3;i<=n;++i)
{
a[i]=a[i-1]+a[i-2];
}
return a[n];
}
int main()
{int n;while(cin>>n)
{
cout<<climbstairs(n)<<endl;}
return 0;
}