Cod sursa(job #2224590)

Utilizator MoldovanAndrei1Moldovan Andrei MoldovanAndrei1 Data 24 iulie 2018 16:11:50
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;
const int MOD= 9999991;
int log_put(long long base,int p)
{
    long long ans=1;
    while(p){
    if(p&1)ans*=base;
    base*=base;
    p/=2;
    ans%=MOD;
    base%=MOD;
    }
    return ans;
}
int main()
{
    freopen("dirichlet.in","r",stdin);
    freopen("dirichlet.out","w",stdout);
    int n;
    long long poz=1;
    long long res=1;
    scanf("%d",&n);
    for(int i=1;i<=2*n;i++)
    {
            if(i<=n)
            {res*=i;
            res%=MOD;
            }
            else
            {
                if(i>n+1)
                {poz*=i;
            poz%=MOD;
                }
            }

    }
    res=log_put(res,MOD-2);
    poz*=res;
    poz%=MOD;
    printf("%lld\n",poz);
    return 0;
}