【问题描述】
一个楼梯有 n 级,小苏同学从下往上走,一步可以跨一级,也可以跨两级。问:他走到第 n 级楼梯有多少种走法?
【输入格式】
一行一个整数 n,0<n≤30。
【输出格式】
一行n 个整数,之间用一个空格隔开,表示走到第1 级、第2级、……第n级分别有多少种走法。
【输入样例】
2
【输出样例】
1 2
code<代码>
#include<bits/stdc++.h>
using namespace std;
int a[40];
int f(int stair)
{
if(stair==1)
{
a[1]=1;
return 1;
}
if(stair==2)
{
a[2]=2;
return 2;
}
a[stair]=f(stair-1)+f(stair-2);
return a[stair];
}
int main()
{
int n;
cin>>n;
f(n);
for(int i=1;i<=n;++i)
cout<<a[i]<<" ";
return 0;
}