HDOJ 2044 一只小蜜蜂... 【递推】

HDOJ 2044 一只小蜜蜂… 【递推】

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2044


就是个斐波那契数列
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
10946 17711 28657 46368 75025
121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465
14930352 24157817 39088169 63245986 102334155
165580141 267914296 433494437 701408733 1134903170
1836311903 2971215073 4807526976 7778742049 12586269025
从45项开始超出10^9 long long


#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
typedef long long ll;
ll path[55];
//斐波那契数列自45项起就超过10^9 使用long long
int N, a, b;
void Pre(){
    path[1] = 1;
    path[2] = 1;
    for(int i = 3; i <= 51; i++) path[i] = path[i-1]+path[i-2];
}

int main(){
    Pre();
    scanf("%d", &N);
    while(N--){
        scanf("%d%d", &a, &b);
        printf("%I64d\n", path[b-a+1]); // long long
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-08-16 21:52  快扶哀家去刷题  阅读(258)  评论(0编辑  收藏  举报