Cod sursa(job #1428359)

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

using namespace std;

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

long long n, x, y, rez=1;

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

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

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

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

    return rez;
}

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

    for (i=n+2; i<=2*n; ++i)
    rez*=i, rez%=MOD;

    return rez;
}

int main()
{
    f>>n;

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

   // rez=modulo(rez);
   rez%=MOD;

    rez*=factorial2(n);

   // rez=modulo(rez);
   rez%=MOD;

    g<<rez<<'\n';

    return 0;
}