Pagini recente » Cod sursa (job #2849942) | Cod sursa (job #2043731) | Cod sursa (job #661437) | Cod sursa (job #2358724) | Cod sursa (job #82151)
Cod sursa(job #82151)
#include <iostream>
#include <cmath>
const int maxn = 3000;
const int base = 1000000;
FILE *in = fopen("patrate2.in","r"), *out = fopen("patrate2.out","w");
int N;
int H[maxn];
void mul(int A[], int B)
{
int i, t = 0;
for (i = 1; i <= A[0] || t; i++, t /= base)
{
A[i] = (t += A[i] * B) % base;
}
A[0] = i - 1;
}
int main()
{
fscanf(in, "%d", &N);
H[0] = 1;
H[1] = 2;
int end = N*N;
for ( int i = 1; i < end; ++i )
mul(H, 2);
for ( int i = 2; i <= N; ++i )
mul(H, i);
for ( int i = H[0]; i; --i )
{
if ( H[i] == 0 )
fprintf(out, "00000");
// int t = (int)log10((double)H[i]) + 1;
// for ( int j = t; j < 7; ++j )
// fprintf(stdout, "%d", 0);
fprintf(out, "%d", H[i]);
}
return 0;
}