hdu 2041 超级楼梯

时间:2023-03-09 15:00:58
hdu 2041 超级楼梯

hdu 2041 超级楼梯

斐波那契数列,看清题意,当前为第一阶,给出M(每次只能跨1阶或2阶)

从第一阶到M,若M=1,从1-1不用走,0种方法

若M=2 从1-2  一种方法  -> 1.走一次一阶

若M=3 从1-3  两种方法  -> 1.走两次一阶 2.走一次两阶

若M=4 从1-4  三种方法  -> 1.走三次 一阶 2. 走一次一阶 走一次两阶 3.走一次两阶 再走一次一阶

当前项=前两项之和

定义数组 M[1]=0;M[2]=1;M[3]=2;...

#include<stdio.h>
int main(void)
{
int i,n,t,narr[45];
narr[1]=0;narr[2]=1;narr[3]=2;
for(i=4;i<=40;i++)
{
narr[i]=narr[i-1]+narr[i-2];
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&t);
printf("%d\n",narr[t]);
}
return 0;
}