Cod sursa(job #193764)

Utilizator Omega91Nicodei Eduard Omega91 Data 6 iunie 2008 22:31:03
Problema Nunta Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <cstdio>

unsigned long long p(int n, int a, int b)
{
	int i, j = 1;
	unsigned long long pn;
	if (a == n) return 1;
	pn = a + 1;
	for (i = a + 2; i <= n; ++i) {
		pn *= i;
		if (j < b) ++j;
		pn /= j;
	}
	return pn;
}

int main()
{
	int a, b, n;
	unsigned long long s = 0;
	FILE *f1, *f2;
	f1 = fopen("nunta.in", "r");
	f2 = fopen("nunta.out", "w");
	fscanf(f1, "%d", &n);
	a = n;
	b = 0;
	while (a >= 0) {
		s += p(n, a, b);
		--n;
		a -= 2;
		++b;
	}
	fprintf(f2, "%llu\n", s);
	fclose(f1);
	fclose(f2);
	return 0;
}