Pagini recente » Cod sursa (job #467907) | Cod sursa (job #2169567) | Cod sursa (job #2311726) | Cod sursa (job #646990) | Cod sursa (job #508393)
Cod sursa(job #508393)
//#include <fstream>
#include <cstdio>
using namespace std;
#define dim 100000
long v[dim], j, cifre,n, rez, i;
//ifstream fin("patrate2.in");
//ofstream fout("patrate2.out");
void mare(long x, long a[dim])
{
j=v[0];
cifre=1;
while(j>0)
{
a[cifre]=a[cifre]*x;
++cifre;
--j;
}
a[0]=cifre-1;
for(j=1;j<=a[0];++j)
while(a[j]>9)
{
a[j+1]+=a[j]/10;
a[j]%=10;
}
if(a[cifre+1]!=0)
++a[0];
while(a[a[0]+1]!=0)
{
while(a[a[0]+1]>9)
{
a[a[0]+2]+=a[a[0]+1]/10;
a[a[0]+1]%=10;
}
++a[0];
}
}
int main()
{
//fin>>n;
freopen ("patrate2.in" , "r" , stdin);
freopen ("patrate2.out" , "w", stdout);
scanf("%d" , &n);
rez=n*n;
v[0]=1;
v[1]=1;
for(i=4;i<=rez;i+=4)
mare(16,v);
if(rez%4==1)
mare(2,v);
if(rez%4==2)
mare(4,v);
if(rez%4==3)
mare(8,v);
for(i=2;i<=n;++i)
mare(i,v);
for(i=v[0];i>=1;--i)
//fout<<v[i];
printf("%ld", v[i]);
return 0;
}