Cod sursa(job #2728865)

Utilizator rares404AlShaytan - Balasescu Rares rares404 Data 23 martie 2021 19:58:36
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#define mod 9999991
using namespace std;
long long ridicarelaput(long long f, long long exp)
{
    long long rez=1;
    while(exp)
    {
        if(exp%2==0)
        {
            f=(f*f)%mod;
            exp/=2;
        }
        else
        {
            rez=(rez*f)%mod;
            exp--;
        }
    }
    return rez;
}
int main()
{
    freopen("dirichlet.in", "r", stdin);
    freopen("dirichlet.out", "w", stdout);
    long long n, i, rasp=1, f1=1, f2=1;
    scanf("%lld", &n);
    for(i=n+2;i<=2*n;i++)
        f1=(f1*i)%mod;
    for(i=1;i<=n;i++)
        f2=(f2*i)%mod;
    rasp=(f1*ridicarelaput(f2, mod-2))%mod;
    printf("%lld", rasp);
    return 0;
}