Cod sursa(job #1814247)

Utilizator raducostacheRadu Costache raducostache Data 23 noiembrie 2016 19:44:44
Problema Patrate2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <cmath>

typedef int Huge[3000];

using namespace std;



void Mult(Huge H, unsigned long X)
/* H <- H*X */
{
	int i;
	unsigned long T = 0;

	for (i = 1;i <= H[0];i++)
	{
		H[i] = H[i] * X + T;
		T = H[i] / 10;
		H[i] = H[i] % 10;
	}
	while (T) /* Cat timp exista transport */
	{
		H[++H[0]] = T % 10;
		T /= 10;
	}
}
int main() {
	freopen("patrate2.out", "w", stdout);
	freopen("patrate2.in", "r", stdin);
	int n,i;
	scanf("%d", &n);
	int p = pow(n, 2);
	Huge rez;
	rez[1] = rez[0] = 1;
	for (i = 1; i <= p; ++i) {
		Mult(rez, 2);
	}
	for (i = 1; i <= n; ++i) {
		Mult(rez, i);
	}
	for (int i = rez[0]; i >= 1; i--)
		printf("%d", rez[i]);
	return 0;
}