Pagini recente » Cod sursa (job #1385243) | Cod sursa (job #2307998) | Cod sursa (job #702802) | Cod sursa (job #2810473) | Cod sursa (job #396753)
Cod sursa(job #396753)
#include<stdio.h>
short N,v[10000];
void inmu(short x,short l[])
{
int S=l[0];
for(int i=1;i<=l[0];++i)
{
if(i<=S)
{
l[i]=l[i]*x;
}
if(l[i-1]>9&&i-1!=0)
{
l[i]+=l[i-1]/10;
l[i-1]=l[i-1]%10;
}
}
while(l[l[0]]>9)
{
l[l[0]+1]+=l[l[0]]/10;
l[l[0]]=l[l[0]]%10;
++l[0];
}
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=4;i<=N*N;i+=4)
{
inmu(16,v);
}
if(N*N%4==1)
{
inmu(2,v);
}
if(N*N%4==2)
{
inmu(4,v);
}
if(N*N%4==3)
{
inmu(8,v);
}
for(int i=1;i<=N;++i)
{
inmu(i,v);
}
for(int i=v[0];i>=1;--i)
printf("%d",v[i]);
}