Cod sursa(job #399599)

Utilizator toniobFMI - Barbalau Antonio toniob Data 20 februarie 2010 19:23:05
Problema Patrate2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>

using namespace std;
const int NR_CIFRE = 1 << 20;

int N, v[NR_CIFRE];

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

void solve () {
	v[0]=1;v[1]=2;
	for (int i = 2; i <= N*N+1; ++i) {
		mul(2);
	}
	for (int i = 3; i <= N; ++i) {
		mul(i);
	}
}

int main () {
	freopen ("patrate2.in", "r", stdin);
	freopen ("patrate2.out", "w", stdout);
	
	scanf ("%d", &N);
	
	solve ();
	for (int i = v[0]; i >=1; --i) {
		printf ("%d", v[i]);
	}
	
	return 0;
}