Cod sursa(job #289688)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 26 martie 2009 21:50:06
Problema Patrate2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
long n,a[105],i;
void inmult(long a[],long x)
{long t=0,cc,i;
 for(i=1;i<=(a[0]+1)/2;++i){cc=a[i];a[i]=a[a[0]-i+1];a[a[0]-i+1]=cc;}
 for(i=1;i<=a[0]||t;++i)
  {t+=a[i]*x;
   a[i]=t%10000;
   t/=10000;}
 a[0]=i-1;
 for(i=1;i<=(a[0]+1)/2;++i){cc=a[i];a[i]=a[a[0]-i+1];a[a[0]-i+1]=cc;}
}
int main()
{
 freopen("patrate2.in","r",stdin);
 freopen("patrate2.out","w",stdout);
 scanf("%ld",&n);
 a[0]=1;
 a[1]=1;
 for(i=1;i<=n*n;++i)
    inmult(a,2);
 for(i=2;i<=n;++i)
    inmult(a,i);
 printf("%ld",a[1]);
 for(i=2;i<=a[0];++i)
    printf("%04ld",a[i]);
 printf("\n");
 return 0;
}