HOJ2041:超级楼梯

Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
 

Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
 

Output
对于每个测试实例,请输出不同走法的数量
 

Sample Input
 
  
2 2 3
 

Sample Output
 
  
1 2

#include<iostream>
using namespace std;
#define MAX 41 
__int64 arr[MAX];

void func(){
    arr[1]=0;
    arr[2]=1;
    arr[3]=2;
    for(int i=4;i<MAX;i++)
    {
        arr[i]=arr[i-1]+arr[i-2];
    }
}

int  main()
{
    int num,x;
    func();
    while(cin>>num)
    {    
        for(int i=0;i<num;i++)
        {
            cin>>x;
            cout<<arr[x]<<endl; 
        }    
            
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/beautifulxu/article/details/80644385
今日推荐