Cod sursa(job #638141)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 20 noiembrie 2011 19:07:46
Problema Dirichlet Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("dirichlet.in");
ofstream out("dirichlet.out");

inline int modn(int x,int n)
{
    int a=x%n;
    if(a<0)
        return n+a;
    else
        return a;
}

void euclidext(int a, int b, int &x, int &y)
{
    if (b==0)
    {
        x=1;
        y=0;
        return;
    }
    int x1,y1,q=a/b;
    euclidext(b,a%b,x1,y1);
    x=y1;
    y=x1-y1*q;
}




int main()
{
    int x,y,n,i,f1,f2;
    in>>n;
    f2=f1=1;
    for(i=n+1;i<=2*n;++i)
        f1=(f1*i)%9999991;
    for(i=1;i<=n+1;++i)
        f2=(f2*i)%9999991;
    euclidext(f2,9999991,x,y);
    out<<(modn(x,9999991)*f1)%9999991;
    return 0;
}