Cod sursa(job #1808574)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 17 noiembrie 2016 20:59:16
Problema Dirichlet Scor 92
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;
ifstream fin("dirichlet.in");
ofstream fout("dirichlet.out");
long long p,n;
long long putere(long long a,long long b){
    if(b==0){
        return 1;
    }
    long long p=1;
    while(b!=0){
        if(b%2==1){
            p=p*a;
            p%=9999991;
        }
        a=a*a;
        a%=9999991;
        b/=2;
    }
    return p;
}
long long fact(long long n){
    long long p=1;
    for(int i=1;i<=n;i++){
        p*=i;
        p%=9999991;
    }
    return p;
}
int main(){
    fin>>n;
    p=1;
    p*=fact(2*n);
    p*=putere(fact(n),9999989);
    p%=9999991;
    p*=(putere(fact(n),9999989));
    p%=9999991;
    p*=putere(n+1,9999989);
    p%=9999991;
    fout<<p;
    return 0;
}