Cod sursa(job #1807970)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 17 noiembrie 2016 09:53:24
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#define MOD 9999991

using namespace std;
long long putere (long long a,long long b){
    long long p=1;
    while (b>0){
        if (b%2)
            p=(p*a)%MOD;
        a=(a*a)%MOD;
        b/=2;
    }
    return p;
}
int main()
{
    FILE *fin=fopen ("dirichlet.in","r");
    FILE *fout=fopen ("dirichlet.out","w");
    int n,i;
    long long sol,fact;
    fscanf (fin,"%d",&n);
    sol=fact=1;
    // c de 2n luate cate n / (n+1)
    // 2n! / n!*n!
    for (i=n+1;i<=2*n;i++)
        sol=(sol*i)%MOD;
    for (i=1;i<=n;i++)
        fact=(fact*i)%MOD;
    // sol*fact^-1
    sol=(sol*putere (fact,MOD-2))%MOD;
    sol=(sol*putere (n+1,MOD-2))%MOD;
    fprintf (fout,"%lld",sol);
    return 0;
}