天天看點

HDOJ2044 一隻小蜜蜂(2階斐波那契數列題)

這道題要注意用__int64 ,并且用I64d 輸入,要不然AC不過。

斐波那契數列類的題目很常見,但也不難,一般用數組處理而不要用函數遞歸處理。遞歸處理很容易逾時。

#include<iostream>
using namespace std;

int main(){
    __int64 n,m[50];//剛開始時是用int型,AC不掉。改成__int64 就AC掉了
    int a,b,i,tmp;
    scanf("%I64d",&n);
    while(n--){
            scanf("%d%d",&a,&b);
            tmp=b-a;
            if(tmp==1||tmp==2)
                printf("1\n");
            else{
                m[1]=1; m[2]=1;
                for(i=3;i<=tmp+1;i++)
                    m[i]=m[i-1]+m[i-2];
                printf("%I64d\n",m[i-1]);
            }
            
    }
    return 0;
}