Cod sursa(job #1807957)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 17 noiembrie 2016 09:40:44
Problema Dirichlet Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#define MOD 9901

using namespace std;
int putere (int a,int b){
    int 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,sol,fact,i;
    fscanf (fin,"%d",&n);
    sol=fact=1;
    // c de 2n luate cate n / (n+1)
    // 2n! / n!*n!
    for (i=1;i<=2*n;i++)
        sol=(sol*i)%MOD;
    for (i=1;i<=n;i++)
        fact=(fact*i)%MOD;
    fact=(fact*fact)%MOD;
    // sol*fact^-1
    sol=(sol*putere (fact,MOD-2))%MOD;
    sol=(sol*putere ((n+1)%MOD,MOD-2))%MOD;
    fprintf (fout,"%d",sol);
    return 0;
}