Pagini recente » Cod sursa (job #1589258) | Cod sursa (job #147736) | Cod sursa (job #548913) | Cod sursa (job #415306) | Cod sursa (job #2787582)
#include <stdio.h>
#include <math.h>
#define Cif 5000
char a[Cif];
int x;
int multiply (int& na, int value){
int m = 0, i = 0;
while (m || i < na){
m += a[i] * value;
a [i] = m % 10;
m /= 10;
i ++;
}
na = fmax (i, na);
}
int main() {
FILE *fin, *fout;
fin = fopen("patrate2.in", "r");
fout = fopen("patrate2.out", "w");
int n, i;
fscanf(fin, "%d", &n);
a [0] = 1; x = 1;
for (i = 2; i <= n; ++i)
multiply(x, i);
for (i = 1; i <= n * n; ++i)
multiply(x, 2);
for (i = x - 1; i >= 0; --i)
fputc('0' + a[i], fout);
fclose(fin);
fclose(fout);
return 0;
}