Cod sursa(job #2629472)

Utilizator RaduhhRadu Flocea Raduhh Data 20 iunie 2020 23:16:59
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#define ll long long
using namespace std;
 
ll n, mod = 9999991, primu;
 
ll lgput (ll n, ll p)
{
    ll aux = 1;
    while(p) {
        if(p % 2 == 1) aux = (aux * n) % mod;
        n = (n * n) % mod;
        p /= 2;
    }
    return aux;
}
 
int main() 
{
    //Taranii locuiesc in mediul rural. Ocupatia principala fiind agricultura si cresterea animalelor. Eu ma specializez in agricultura, specialitatea casei - prashityl professional!
    
    ifstream cin("dirichlet.in");
    ofstream cout("dirichlet.out");
    cin>>n;
    ll pr = 1, doi = 1;
    for (ll i=1; i<=n; i++)
        pr = (pr * i) % mod,
        doi = (doi * (n+i)) % mod;

    doi = (doi*pr)%mod;
    
    cout<<(lgput(((pr*pr)%mod*(n+1))%mod,mod-2)*doi)%mod;
}