Pagini recente » Cod sursa (job #2744614) | Cod sursa (job #847876) | Cod sursa (job #1633749) | Cod sursa (job #3121728) | Cod sursa (job #614079)
Cod sursa(job #614079)
Utilizator |
Mr. Noname cezar305 |
Data |
5 octombrie 2011 16:49:23 |
Problema |
Dirichlet |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.58 kb |
#include <stdio.h>
#define MOD 9999991
int i,N,rez;
inline int put(int A, int B)
{
int aux = 1;
for (int i=0; (1<<i) <= B; ++i){
if (B & (1<<i))
aux = (1LL * aux * A) % MOD;
A = (1LL * A * A) % MOD;
}
return aux;
}
int main()
{
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
scanf("%d",&N);
rez = 1;
for (i=N+2; i<=2*N; ++i)
rez = (1LL * rez * i) % MOD;
int rez2 = 1;
for (i=2; i<=N; ++i)
rez2 = (1LL * rez2 * i) % MOD;
rez = (1LL * rez * put(rez2, MOD-2)) % MOD;
printf("%d\n", rez);
return 0;
}