hdu1297(大数)

#include<stdio.h>

int a[1002][6000],len[6000];

int main()
{
    a[1][0]=1;
    a[2][0]=2;
    a[3][0]=4;
    a[4][0]=7;
    len[1]=len[2]=len[3]=len[4]=1;
    int i,j,c,n;
    for(i=5;i<=1000;i++)
    {
        c=0;len[i]=len[i-1];      //len[i]表示a[i]数的字长度
        for(j=0;j<len[i];j++)
        {
            a[i][j]=a[i-1][j]+a[i-2][j]+a[i-4][j]+c;     //主要的
            c=a[i][j]/10;
            a[i][j]%=10;
            if(c&&len[i]==j+1)     //当j+1等于len[i],并且需要进位时,len[i]就加1
            len[i]++;
        }

    }         while(scanf("%d",&n)==1)     {         for(i=len[n]-1;i>=0;i--)         printf("%d",a[n][i]);         printf("\n");     }     return 0; }

相关文章

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬...
文章目录获取数据查看数据结构获取数据下载数据可以直接通过...
网上商城系统MySql数据库设计
26个来源的气象数据获取代码
在进入21世纪以来,中国电信业告别了20世纪最后阶段的高速发...