Cod sursa(job #1629001)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 4 martie 2016 12:05:12
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#define mod 9999991
using namespace std;
int n,sol=1;


void euclid(int a,int b,int &x,int &y)
{
    if (b==0) {
        x=1;
        y=0;
        return;
    }
    int x0,y0;
    euclid(b,a%b,x0,y0);
    x=y0;
    y=x0-(a/b)*y0;
}
int im(int i)
{
    int x,y;
    euclid(i,mod,x,y);
    return (x%mod+mod)%mod;
}
int main()
{
    int i,j;
    freopen("dirichlet.in","r",stdin);
    freopen("dirichlet.out","w",stdout);
    scanf("%d",&n);
    for (i=n+2;i<=2*n;i++)
        sol=(1LL*sol*i)%mod;
    j=1;
    for (i=2;i<=n;i++)
        j=(1LL*j*i)%mod;

    sol=(1LL*sol*im(j))%mod;
    printf("%d\n",sol);
    return 0;
}