Cod sursa(job #935731)

Utilizator dariusdariusMarian Darius dariusdarius Data 4 aprilie 2013 16:40:33
Problema Dirichlet Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<stdio.h>
const int MOD=9999991;
int power(int a,int m)
{
	int r;
	for(r=1;m;m>>=1)
	{
		if(m&1) r=(1LL*r*a)%MOD;
		a=(1LL*a*a)%MOD;
	}
	return r;
}
inline int invmod(int k)
{
	return power(k,MOD-2);
}
int cat(int n)
{
	int num=1,den=1;
	for(int k=2;k<=n;k++)
	{
		num=(1LL*num*(n+k))%MOD;
		den=(1LL*den*(k))%MOD;
	}
	return (1LL*num*invmod(den))%MOD;;
}
int main()
{
	freopen("dirichlet.in","r",stdin);
	freopen("dirichlet.out","w",stdout);
	int n;
	scanf("%d",&n);
	printf("%d\n",cat(n));
	return 0;
}