Cod sursa(job #1224038)

Utilizator andreiblaj17Andrei Blaj andreiblaj17 Data 29 august 2014 15:31:04
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;

#define MOD 9999991
#define ll long long
ifstream in("dirichlet.in");
ofstream out("dirichlet.out");

ll n;
ll x = 1, y = 1, i;

ll p(ll x, ll y) {
    
    if (y == 1)
        return x;
    
    if (y % 2 == 0)
        return p(x, y/2) * p(x, y/2) % MOD;
    else
        return (x * p(x, y/2) % MOD) * p(x, y/2) % MOD;
    
}

int main() {
    
    in >> n;
    
    for (i = 2; i <= n; i++)
        y = (y * i) % MOD;
    
    for (i = n + 2; i <= 2 * n; i++)
        x = (x * i) % MOD;
    
    out << x * p(y, MOD - 2) % MOD << "\n";
    
    return 0;
}