Cod sursa(job #396748)

Utilizator MKLOLDragos Ristache MKLOL Data 15 februarie 2010 20:06:14
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Pregatire OJI 2010 Marime 0.69 kb
#include<stdio.h>
short N,v[10000];
void inmu(short x,short l[])
{
int S=l[0];
    for(int i=1;i<=l[0]+1;++i)
    {
    if(i<=S)
    {
    l[i]=l[i]*x;
    }
    if(l[i-1]>9)
    {
        l[i]+=l[i-1]/10;
        l[i-1]=l[i-1]%10;
        if(i>l[0])
        l[0]=i;
    }
    }
    return;

}
int main()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%d",&N);
v[1]=1;
v[0]=1;
for(int i=3;i<=N*N;i+=3)
    {
    inmu(8,v);
    }
    if(N*N%3==1)
    {
        inmu(2,v);
    }
    if(N*N%3==2)
    {
        inmu(4,v);
    }
for(int i=1;i<=N;++i)
    {
    inmu(i,v);
    }
for(int i=v[0];i>=1;--i)
printf("%d",v[i]);


}