Pagini recente » Cod sursa (job #1619078) | Cod sursa (job #1722170) | Cod sursa (job #217768) | Cod sursa (job #2984553) | Cod sursa (job #794006)
Cod sursa(job #794006)
#include <fstream>
#include <iostream>
#define DEBUG
#ifndef DEBUG
#define PRINT(x)
#define D if(0)
#else
#define PRINT(x) \
cout<<#x<<":\t"<<x<<endl
#define D if(1)
#endif
using namespace std;
const char InFile[]="patrate2.in";
const char OutFile[]="patrate2.out";
const int HUGEINT_SIZE=20111;
ifstream fin(InFile);
ofstream fout(OutFile);
typedef int HUGEINT[HUGEINT_SIZE];
int N;
HUGEINT A;
inline void MUL(HUGEINT A, int b)
{
int i=1,t=0;
for(;i<=A[0] || t;t/=10,++i)
{
A[i]=(t+=A[i]*b)%10;
}
A[0]=i-1;
}
inline void Write(HUGEINT A)
{
for(register int i=A[0];i>0;--i)
{
fout<<A[i];
}
}
int main()
{
fin>>N;
fin.close();
PRINT(N);
A[0]=A[1]=1;
for(register int i=2;i<=N;++i)
{
MUL(A,i);
}
N*=N;
for(register int i=1;i<=N;++i)
{
MUL(A,2);
}
Write(A);
fout.close();
return 0;
}