Pagini recente » Cod sursa (job #2817762) | Cod sursa (job #1019483) | Cod sursa (job #2888593) | Cod sursa (job #1233600) | Cod sursa (job #6473)
Cod sursa(job #6473)
#include <cstdio>
#include <cstring>
#define FIN "patrate2.in"
#define FOUT "patrate2.out"
#define MAXC 10001
long a[MAXC], b[MAXC], n, i, j;
void inm(int x) {
int poz, c, ii;
poz = 0;
memset(b, 0, sizeof(b));
do {
c = x % 10;
for (ii=1; ii<=a[0]; ii++) b[ii+poz] += a[ii] * c;
x = (int) (x / 10);
poz++;
} while (x);
b[0] = a[0];
for (poz = 1; (poz<=b[0]) || (b[poz] != 0); poz++) {
b[poz+1] += (long) (b[poz] / 100000);
b[poz] = b[poz] % 100000;
}
b[0] = poz - 1;
for (poz = 0; poz <= b[0]; poz++) a[poz] = b[poz];
}
int main () {
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &n);
a[0] = a[1] = 1;
for (i=2; i<=n; i++)
inm(i);
for (i=1; i<=n*n; i++)
inm(2);
printf("%ld", a[a[0]]);
for (i=a[0]-1; i>0; i--) {
if (a[i] < 100000) printf("0");
if (a[i] < 10000) printf("0");
if (a[i] < 1000) printf("0");
if (a[i] < 100) printf("0");
if (a[i] < 10) printf("0");
if (a[i] < 1) printf("0");
printf("%ld", a[i]);
}
printf("\n");
return 0;
}