Cod sursa(job #637740)

Utilizator klamathixMihai Calancea klamathix Data 20 noiembrie 2011 16:12:09
Problema Dirichlet Scor 76
Compilator cpp Status done
Runda .com 2011 Marime 0.56 kb
#include<cstdio>

using namespace std;

const int mod = 9999991;

int i , j , n;
long long ans = 1;

int inv ( int a ) {
	
	int i;
	long long ans = 1 , p = a;
	
	for ( i = 0; (1 << i) <= mod - 2; ++i ) {
		if ( (1 << i) & (mod - 2) )
			ans = ( ans * p ) % mod;
		p = (p * p) % mod;
	}
	
return ans;
}

int main()
{
	freopen("dirichlet.in","r",stdin);
	freopen("dirichlet.out","w",stdout);
	
	scanf("%d",&n);
	
		for ( i = 2 ; i <= n ; ++i )
		ans = (ans * (n + i)) % mod,
		ans = (ans * inv(i)) % mod;

	printf("%lld\n",ans);
		
return 0;
}