hdu 1250 大数Fibonacci

来源:互联网 发布:什么网络电视盒子最好 编辑:程序博客网 时间:2024/06/06 04:20
#include <cstdio>#define M 8000int a[M][510];int main(){    int n, i, j, k;    a[1][0] = a[2][0] = a[3][0] = a[4][0] = 1;    k = 0;    for (i=5;i<M;++i)    for (j=0;j<510;++j)    {        k += a[i-1][j] + a[i-2][j] + a[i-3][j] + a[i-4][j];        a[i][j] = k % 10000;        k /= 10000;    }    while (k)    {        a[i][j++] = k % 10000;        k /= 10000;    }    while (~scanf("%d", &n))    {        for (i=509;i>=0;i--)        if (a[n][i]!=0) break;        printf("%d", a[n][i--]);        for (;i>=0;--i)        printf("%4.4d", a[n][i]);        printf("\n");    }    return 0;}