Cod sursa(job #177032)

Utilizator firewizardLucian Dobre firewizard Data 12 aprilie 2008 05:03:19
Problema Patrate2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
int n;
long i,s[300],p[300],baza=1000000,j,c,k,x;
int main()
{
    freopen ("patrate2.in","r",stdin);
    freopen ("patrate2.out","w",stdout);
    scanf("%d",&n);
    p[0]=1;p[1]=1;
    
    for (i=1;i<=n*n;i++){
        c=0;
        for (j=1;j<=p[0]+1;j++){
            p[j]=p[j]*2+c;
            c=p[j]/baza;
            p[j]%=baza;
            }
        if(p[p[0]+1]!=0)++p[0];
    }
    
    for (i=2;i<=n;i++){
        c=0;
        for (j=1;j<=p[0]+1;j++){
            p[j]=p[j]*i+c;
            c=p[j]/baza;
            p[j]%=baza;
            }
        if(p[p[0]+1]!=0)++p[0];
    }
    
    for(i=200;i>=1;i--)   
    if(p[i]!=0)   
    {printf("%ld",p[i]);break;}   
    i--;   
    for (j=i;j>=1;--j)   
        {   
        if(p[j]!=0){         
        x=p[j];c=0;   
        while(x!=0){c++;x/=10;}   
        for(x=1;x<=6-c;++x)printf("0");   
        printf("%ld",p[j]);}   
        else printf("00000000");   
        }   
    return 0;
}