Cod sursa(job #2520816)

Utilizator SochuDarabaneanu Liviu Eugen Sochu Data 9 ianuarie 2020 19:28:37
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
#define MOD 9999991
#define ull unsigned long long

using namespace std;

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

ull n;

ull Pow(ull n , ull p)
{
    ull nlaput = n , ans = 1;

    for( ; p ; p /= 2)
    {
        if(p % 2 == 1)
        {
            ans = ans * nlaput % MOD;

            if(!ans)
                ans = MOD;
        }

        nlaput = nlaput * nlaput % MOD;

        if(!nlaput)
            nlaput = MOD;
    }

    return ans;
}

int main()
{
    ull a = 1 , b = 1 , i;

    f >> n;

    for(i = 2 ; i <= n ; i++)
    {
        a = a * (n + i) % MOD;
        b = b * i % MOD;
    }

    g << a * Pow(b , MOD - 2) % MOD;

    return 0;
}