Cod sursa(job #1428356)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 4 mai 2015 11:28:43
Problema Dirichlet Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#define MOD 9999991

using namespace std;

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

long long n, x, y, rez;

long long modulo(long long x)
{
    while (x>=MOD) x-=MOD;
    return x;
}

long long putere(long long x, long long y)
{
    if (y==0) return 1;
    if (y%2==1) return modulo(x*putere(x,y-1));
    if (y%2==0) return putere(modulo(x*x),y/2);
}

long long factorial(long long x)
{
    long long rez=1, i;

    for (i=2; i<=x; ++i)
    rez*=i, rez=modulo(rez);

    return rez;
}

int main()
{
    f>>n;

    rez=factorial(2*n);

    rez=modulo(rez);

    rez*=putere(factorial(n),MOD-2);

    rez=modulo(rez);

    rez*=putere(factorial(n+1),MOD-2);

    rez=modulo(rez);

    g<<rez<<'\n';

    return 0;
}