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
",narr[t]);
    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/A--Q/p/5697422.html