HDU 1250 Hat's Fibonacci

#include <cstdio>

int num[10000][260]={0};

int main(){

   int i,j,n;

   num[1][0]=1;

   num[2][0]=1;

   num[3][0]=1;

   num[4][0]=1;

   for(i=5;i<10000;i++)

    {

       for(j=0;j<260;j++)

           num[i][j]=num[i-1][j]+num[i-2][j]+num[i-3][j]+num[i-4][j];

       for(j=0;j<259;j++)

           if(num[i][j]>100000000)

           {

               num[i][j+1]+=num[i][j]/100000000;

                num[i][j]%=100000000;

           }

    }

   while(scanf("%d",&n)!=EOF)

    {

       for(i=259;i>0;i--)

       if(num[n][i]!=0) break;

       printf("%d",num[n][i]);

       for(j=i-1;j>=0;j--)

       printf("%08d",num[n][j]);

       printf("\n");

    }

   return 0;

}

 

注意:“%08d”:控位

  

你可能感兴趣的:(fibonacci)