Cod sursa(job #1027183)

Utilizator Mitsa3Neamt Mihai Mitsa3 Data 12 noiembrie 2013 15:48:59
Problema Patrate2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

ifstream in("patrate2.in");
ofstream out("patrate2.out");

struct nr_mare {
	int cif[3500];
	int nr_cif;
} a;

void afisare(nr_mare &a) {
	for (int i = a.nr_cif - 1; i >= 0; i--)
		out << a.cif[i];
	out << "\n";
}

void smen(nr_mare &a) {
	int i = 0;
	for (i = 0; i < a.nr_cif || a.cif[i] != 0; i++) {
		a.cif[i + 1] += a.cif[i] / 10;
		a.cif[i] %= 10;
	}
	a.nr_cif = i;
}

void inmultire(nr_mare &a, int x) {
	for (int i = 0; i < a.nr_cif; i++)
		a.cif[i] *= x;
	smen(a);
}

int main() {
	a.cif[0] = 1;
	a.nr_cif = 1;

	int n;
	in >> n;
	for (int i = 1; i <= n * n; i++)
		inmultire(a, 2);
	for (int i = 1; i <= n; i++)
		inmultire(a, i);
	afisare(a);
	return 0;
}