有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。 Output 对于每个测试实例,请输出不同走法的数量 Sample Input 2 2 3 Sample Output 1 2
AC代码:
#include<stdio.h>
int dp[
50];
void solve()
{
dp[
1]=
1;
dp[
2]=
2;
for(
int i=
3;i<=
40;i++)
dp[i]=dp[i-
1]+dp[i-
2];
}
int main()
{
int t,n;
solve();
scanf(
"%d",&t);
while(t--)
{
scanf(
"%d",&n);
printf(
"%d\n",dp[n-
1]);
}
return 0;
}