Cod sursa(job #177341)

Utilizator firewizardLucian Dobre firewizard Data 12 aprilie 2008 18:39:33
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>
int n;
long i,p[3000],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];
    }
    
    printf("%ld",p[p[0]]);      
    for (j=p[0]-1;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("000000");   
        }   
    return 0;
}