Pagini recente » Cod sursa (job #3135040) | Cod sursa (job #2764246) | Cod sursa (job #326764) | Cod sursa (job #164501) | Cod sursa (job #164537)
Cod sursa(job #164537)
#include <stdio.h>
#include <math.h>
#define rt 2000003
#define mx 5010
int n,k;
long r;
long v[mx];
void descomp(long nr, long ct)
{
int n=nr;
for (int i=2; i<=sqrt(nr); i++)
{
while (n%i==0)
{
v[i]=v[i]+ct;
n=n/i;
}
}
}
int main()
{
freopen("sandokan.in","r",stdin);
freopen("sandokan.out","w",stdout);
scanf("%ld %ld",&n,&k);
int cn=n;
while (cn>=k)
cn=cn-k+1;
descomp(n-1,1);
descomp(cn-1,-1);
descomp((n-cn),-1);
for (int i=1; i<=n; i++)
for (int j=1; j<=v[i]; j++)
r=(r*i)%rt;
printf("%ld",r);
fclose(stdin);
fclose(stdout);
return 0;
}