Cod sursa(job #514517)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 18 decembrie 2010 21:20:33
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <string>

using namespace std;

int A[100005];

void multA (int number)
{
	int t = 0, i;
	
	for (i = 1; i <= A[0] || t; ++i)
	{
		t = t + A[i]*number;
		A[i] = t % 10;
		t /= 10;
	}
	
	A[0] = i - 1;
}

int main()
{
	int N;
	
	freopen ("patrate2.in", "r", stdin);
	freopen ("patrate2.out", "w", stdout);
	
	A[0] = A[1] = 1;
	
	scanf ("%d", &N);
	
	int de_cate_ori = (N * N)/20;
	
	for (int i = 1; i <= de_cate_ori; ++i) multA ((1<<20));
	for (int i = 1; i <= (N * N) % 20; ++i) multA (2);
	
	int P = N;
	
	while (P)
	{
		multA(P);
		P--;
	}	
	
	for (int i = A[0]; i >= 1; --i) printf ("%d", A[i]);
	
	return 0;
}