Cod sursa(job #2882603)

Utilizator pctirziuTirziu Petre pctirziu Data 31 martie 2022 16:32:53
Problema Dirichlet Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream cin("dirichlet.in");
ofstream cout("dirichlet.out");
const int mod = 9999991;
int euclidth(long long &x, long long &y, int n, int mod)
{
    if(!mod)
        x = y = 1;
    else{
        euclidth(x, y, mod, n % mod);
        long long aux = x;
        x = y;
        y = aux - y * (n / mod);
    }
}
int combinari(int n)
{
    long long prod1 = 1, prod2 = 1, i;
    for(i = n + 2; i <= 2 * n; i++)
        prod1 = (prod1 * i) % mod;
    for(i = 2; i <= n; i++)
        prod2 = (prod2 * i) % mod;
    long long x, y;
    euclidth(x, y, prod2, mod);
    while(x < 0)
        x += mod;
    return (prod1 * x) % mod;
}
int main()
{
    int n;
    cin >> n;
    cout << combinari(n);
    return 0;
}