Pagini recente » Cod sursa (job #3285164) | Cod sursa (job #2843322) | Cod sursa (job #2311731) | Cod sursa (job #3143545) | Cod sursa (job #508392)
Cod sursa(job #508392)
#include <fstream>
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;
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];
return 0;
}