Pagini recente » Cod sursa (job #2268461) | Cod sursa (job #1141533) | Cod sursa (job #271613) | Cod sursa (job #389022) | Cod sursa (job #2931240)
#include <fstream>
#define mod 9999991
using namespace std;
ifstream in("dirichlet.in");
ofstream out("dirichlet.out");
long long exp(long long baza, long long putere)
{
long long ans;
ans = 1;
while(putere>=1)
{
if(putere%2 == 1)
{
ans = (ans*baza)%mod;
}
baza = (baza*baza)%mod;
putere/=2;
}
return ans;
}
long long n, doin , doin2, doin3, invm1, invm2;
///doin = factorial de 2n
///doin2 = factorial de n
///doin3 = factorial de n+1
///invm1 = inversmodular n
///invm2 = inversmodular n+1
int main()
{
in>>n;
doin = 1;
doin2 = 1;
doin3 = 1;
invm1 = 1;
invm2 = 1;
for(int i=1; i<=2*n; i++)
{
doin = (doin*i)%mod;
if(i<=n)
{
doin2 = (doin2 * i)%mod;
}
if(i<=n+1)
{
doin3 = (doin3 * i)%mod;
}
}
invm1 = exp(doin2, mod-2);
invm2 = exp(doin3, mod-2);
//out<<doin3<<"\n";
out<<(invm1 * invm2 * doin)%mod;
return 0;
}