Pagini recente » Cod sursa (job #1649629) | Cod sursa (job #1409467) | Cod sursa (job #2287575) | Cod sursa (job #822271) | Cod sursa (job #1835498)
#include<stdio.h>
#define MOD 9999991
void InvMod(long long a, long long b, long long *x, long long *y){
if(!b){
*x = 1;
*y = 0;
}else{
long long x0, y0;
InvMod(b, a % b, &x0, &y0);
*x = y0;
*y = x0 - (a / b) * y0;
}
}
long long Comb(long long n, long long k){
long long i, result = 1, j=1;
long long factorial=1, x, y;
for(i=2; i<=k+1; i++){
factorial = (factorial * i)%MOD;
}
for(i=0; i<k; i++){
result = (result * (n-i))%MOD;
}
InvMod(factorial, MOD, &x, &y);
while (x <= 0) x += MOD;
return (x * result)%MOD;
}
int main() {
FILE *file1, *file2;
long long N;
file1 = fopen("dirichlet.in", "r");
file2 = fopen("dirichlet.out", "w");
fscanf(file1, "%lld", &N);
fprintf(file2, "%lld", Comb(2*N, N));
return 0;
}