Cod sursa(job #323532)

Utilizator freak93Adrian Budau freak93 Data 12 iunie 2009 15:48:19
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<cstdio>

using namespace std;

int a[100000],i,n;

void mul(int A[], int B)
{
      int i, t = 0;
      for (i = 1; i <= A[0] || t; i++, t /= 10000)
              A[i] = (t += A[i] * B) % 10000;
      A[0] = i - 1;
}

int main()
{
    freopen("patrate2.in","r",stdin);
    freopen("patrate2.out","w",stdout);

    scanf("%d",&n);

    a[0]=a[1]=1;

    for(i=2;i<=n;++i)
        mul(a,i);

    n*=n;

    for(i=1;i<=n;++i)
        mul(a,2);

    printf("%d",a[a[0]]);
    for(i=a[0]-1;i;--i)
        printf("%04d",a[i]);

    fclose(stdin);
    fclose(stdout);

    return 0;
}