153
社区成员




楼梯有N级台阶,上楼可以一步上一阶,也可以一步上二阶。编一递归程序,计算共有多少种不同走法?
输入一个整数N(N≤50 ),表示有N级楼梯
输出一个整数b(b≤2^32 ),表示有b种走法
这道题用数列的方法相对简单,我们从头开始算,一阶一种,二阶两种,三阶三种,四阶五种,我们可以看出n阶走(前两阶的种数之和)种,运用数组和简单的循环即可迎刃而解。
#include<bits/stdc++.h>为万能头文件。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long arr[51];
arr[0]=1;
arr[1]=2;
arr[2]=3;
for(int i=3;i<51;i++)
{
arr[i]=arr[i-1]+arr[i-2];
}
int n;
cin>>n;
cout<<arr[n-1]<<endl;
return 0;
}