HDOJ-----1715大斐波那契数

来源:互联网 发布:无人机数据后处理软件 编辑:程序博客网 时间:2024/06/05 06:34
Problem Description
Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
 

Input
输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
 

Output
输出为N行,每行为对应的f(Pi)。
 

Sample Input
512345
 

Sample Output
1123

5

#include<cstdio>#include<cstring>int s[1010][2020];int main(){    int a, b, c;    memset(s, 0, sizeof(s));    s[1][0] = 1;    s[2][0] = 1;    for(int i = 3; i < 1002; i++){        for(int j = 0; j < 2010; j++){            s[i][j] += s[i-1][j] + s[i-2][j];//依据大数相加原理,更简单一些            if(s[i][j] > 9){                s[i][j+1] = s[i][j] / 10;                s[i][j] %= 10;            }        }    }    scanf("%d", &a);    while(a--){        scanf("%d", &b);        for(int i = 1002, k = 0; i >= 0; i--){            if(k == 0 && s[b][i] != 0){                k = 1;            }            if(k){                printf("%d", s[b][i]);            }        }        printf("\n");    }    return 0;}


0 0
原创粉丝点击