hdu 1250 Hat's Fibonacci

来源:互联网 发布:质数优化算法 编辑:程序博客网 时间:2024/05/14 13:50
#include<stdio.h>int a[10000][500]={0};//本来这里是a[10000][260]的,我改了下,结果这里260要变成500了,考虑下存储的时候会出现问题就行了 int main(){int n;int i,j;a[1][0]=1;a[2][0]=1;a[3][0]=1;a[4][0]=1;for(i=5;i<10000;i++){for(j=0;j<500;j++){a[i][j]+=a[i-1][j]+a[i-2][j]+a[i-3][j]+a[i-4][j];}for(j=0;j<500;j++){if(a[i][j]>10000000){a[i][j+1]+=a[i][j]/10000000;a[i][j]=a[i][j]%10000000;}}}while(scanf("%d",&n)!=EOF){for(j=499;j>=0;j--){if(a[n][j]!=0)break;}printf("%d",a[n][j]);for(j=j-1;j>=0;j--)printf("%07d",a[n][j]);printf("\n");}return 0;}//给两个代码形成对比,注意存储的时候出现的问题 /*#include<stdio.h>int a[10000][260]={0};int main(){        int n;    int i,j;        a[1][0]=1;    a[2][0]=1;    a[3][0]=1;    a[4][0]=1;        for(i=5;i<10000;i++)    {        for(j=0;j<260;j++)        {            a[i][j]+=a[i-1][j]+a[i-2][j]+a[i-3][j]+a[i-4][j];        }        for(j=0;j<260;j++)        {            if(a[i][j]>100000000)            {                a[i][j+1]+=a[i][j]/100000000;                a[i][j]=a[i][j]%100000000;            }        }    }        while(scanf("%d",&n)!=EOF)    {        for(j=259;j>=0;j--)        {            if(a[n][j]!=0)            break;        }                printf("%d",a[n][j]);        for(j=j-1;j>=0;j--)        printf("%08d",a[n][j]);                printf("\n");    }    return 0;}*/ 

0 0
原创粉丝点击