假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部?
格式:
第一行输入一个数n(n<=50),代表楼梯的级数。
接下来一行输出你的方法总数。
样例1
输入:
5
输出:
8
假如有一层楼梯,那就只有一种方案。两层楼梯2种。3层楼梯时,先走一步,剩下两层我们算过了就是2;先走2步,剩下一层我们也算过了就是1!于是,3层有3种,4层有5种,5层有8种...
---斐波那契数列
#include<stdio.h>
#define maxn 55
int main(){
int n;
scanf("%d",&n);
int dp[maxn];
dp[0]=0;//0
dp[1]=1;//1层台阶
dp[2]=2;//2层台阶①1+1 ②2
for(int i=3;i<=n;i++){
dp[i]=dp[i-1]+dp[i-2];
}
printf("%d\n",dp[n]);
return 0;
}