Cod sursa(job #779730)
| Utilizator | Data | 18 august 2012 17:12:21 | |
|---|---|---|---|
| Problema | Dirichlet | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<stdio.h>
long long v[25];
int main()
{
int i,num,n,prod=1,k;
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
scanf("%ld",&n);
for (i=2;i<=n;i++)
prod=(prod*i)%9999991;
v[0]=prod;
for (i=1;i<=23;i++)
v[i]=(v[i-1]*v[i-1])%9999991;
num=9999989;
k=1;
for (i=23;i>=0;i--)
if (num>=1<<i)
k=(k*v[i])%9999991,num-=1<<i;
prod=1;
for (i=n+2;i<=n<<1;i++)
prod=(prod*i)%9999991;
printf("%ld",(prod*k)%9999991);
}
