Cod sursa(job #2908526)

Utilizator Serban_LiviuLiviu Serban Serban_Liviu Data 4 iunie 2022 09:46:10
Problema Dirichlet Scor 96
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
int mod=9999991;
long long lgput(long long baza,int exp){
    long long rez=1;
    for(int i=exp;i>=1;i>>=1){
        if(i&1){
            rez*=baza;rez%=mod;
        }
        baza*=baza;baza%=mod;
    }
    return rez;
}
int main()
{
    ifstream fin("dirichlet.in");
    ofstream fout("dirichlet.out");
    int n;fin>>n;long long fact1=1,fact2=1,invfact2=1;
    for(int i=1;i<=n;i++){
        fact2*=i;fact2%=mod;
    }
    for(int i=n+2;i<=2*n;i++){
        fact1*=i;fact1%=mod;
    }
    invfact2=lgput(fact2,mod-2);
    long long rez=(1LL*fact1*invfact2)%mod;
    fout<<rez<<'\n';
    return 0;
}