Pagini recente » Cod sursa (job #1297888) | Cod sursa (job #1271242) | Cod sursa (job #1515629) | Cod sursa (job #671469) | Cod sursa (job #638055)
Cod sursa(job #638055)
#include<iostream>
#include<cstdio>
#define tip long long
using namespace std;
struct sol{int x,y;};
sol p;
int cmmdc(int u,int v,sol& P);
tip n,up,down,i,k,invm(tip);
int main()
{
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
cin>>n;up=down=1;
for(i=2;i<=n;i++)
{
up=(up*(n+i))%9999991;
down=(down*i)%9999991;
}
down=cmmdc((int)down,9999991,p);
up=(up*p.x)%9999991;
if(up<0)up+=9999991;
cout<<up;
return 0;
}
int cmmdc(int u, int v,sol& P)
{
int w;sol Q;
if (!v){P.x=1;P.y=0;return u;}
w=cmmdc(v,u%v,Q);P.x=Q.y;P.y=Q.x-(u/v)*Q.y;return w;
}