Cod sursa(job #2096844)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 29 decembrie 2017 21:44:12
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#define modulo 9999991

using namespace std;

ifstream f("dirichlet.in");
ofstream g("dirichlet.out");

long long int n, rez = 1, aux = 1, rez_power, c, bit;

int main()
{
	f >> n;
	for (long long int i = n + 2; i <= 2*n; i++) rez = (rez*i) % modulo;
	for (long long int i = 1; i <= n; i++) aux = (aux*i) % modulo;
	bit = modulo - 2;
	rez_power = 1;
	c = aux;
	while (bit) {
		if (bit & 1) rez_power = (rez_power*c) % modulo;
		c = (c*c) % modulo;
		bit >>= 1;
	}
	g << (rez*rez_power) % modulo;
	f.close();
	g.close();
    return 0;
}