Cod sursa(job #1184327)

Utilizator ArmandNMArmand Nicolicioiu ArmandNM Data 12 mai 2014 11:46:22
Problema Dirichlet Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

const int MOD = 9999991;

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

long long N,sol1,sol2,rez;

long long pow(long long x, long long p)
{
    long long rez;

    if (p == 1)
        return x;
    if (p == 0)
        return 1;

    rez = pow(x,p/2);
    rez = rez*rez;

    if (p % 2 == 1)
        rez *= x;

    return rez % MOD;
}

int main()
{
    f >> N;

    sol1 = 1;
    sol2 = 1;

    for (int i = N+2; i <= 2*N; ++i)
    {
        sol1 = (sol1 * i) % MOD;
    }

    for (int i = 1; i <= N; ++i)
    {
        sol2 = (sol2 * i) % MOD;
    }

    rez = (sol1 * pow(sol2,MOD-2) ) % MOD;

    g << rez;

    f.close();
    g.close();
    return 0;
}