Cod sursa(job #515866)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 22 decembrie 2010 16:36:57
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <stdio.h>

int v[100001],b,i,j,n,t;

int main()
{
    freopen("patrate2.in","r",stdin);
    freopen("patrate2.out","w",stdout);
    scanf("%d",&n);
    v[0]=1;v[1]=1;
    for (b=1;b<=n;++b)
    {
        t=0;
        for (i=1;i<=v[0];i++)
        {
            v[i]=v[i]*b+t;
            t=v[i]/10;
            v[i]=v[i]%10;
        }
        while (t)
        {
            v[++v[0]]=t%10;
            t/=10;
        }
    }
    for (b=1;b<=n*n/4;++b)
    {
        t=0;
        for (i=1;i<=v[0];i++)
        {
            v[i]=v[i]*16+t;
            t=v[i]/10;
            v[i]=v[i]%10;
        }
        while (t)
        {
            v[++v[0]]=t%10;
            t/=10;
        }
    }
    if (n%2==1)
    {
        t=0;
        for (i=1;i<=v[0];i++)
        {
            v[i]=v[i]*2+t;
            t=v[i]/10;
            v[i]=v[i]%10;
        }
        while (t)
        {
            v[++v[0]]=t%10;
            t/=10;
        }
    }
    for (i=v[0];i>0;--i) printf("%d",v[i]);
    return 0;
}