Pagini recente » Cod sursa (job #434638) | Cod sursa (job #539629) | Cod sursa (job #744084) | Cod sursa (job #1501786) | Cod sursa (job #188410)
Cod sursa(job #188410)
#include <stdio.h>
#include <math.h>
const int B = 10000;
class nr_mare {
int * x, l, SIZE;
public:
nr_mare() {
int i;
SIZE = 20;
x = new int[SIZE];
x[0] = 1;
for (i = 1; i < SIZE; ++i)
x[i] = 0;
l = 1;
}
~nr_mare() { delete[] x; }
void inmultire(int k) {
int t;
t = 0;
int i;
for (i = 0; i <= l; ++i) {
x[i] = x[i] * k + t;
t = x[i] / B;
x[i] %= B;
}
if ( x[i - 1] ) ++l;
}
void afisare(FILE *f) {
int i;
for (i = l + 1; i >= 0; --i) {
if (!x[i]) continue;
fprintf(f, "%d", x[i]);
}
}
};
int main()
{
nr_mare x;
int n, i;
FILE *f1, *f2;
f1 = fopen("patrate2.in", "r");
f2 = fopen("patrate2.out", "w");
fscanf(f1, "%d", &n);
for (i = 1; i <= n * n; ++i) x.inmultire(2);
for (i = 2; i <= n; ++i) x.inmultire(i);
x.afisare(f2);
fprintf(f2, "\n");
fclose(f1);
fclose(f2);
return 0;
}