Pagini recente » Monitorul de evaluare | Cod sursa (job #793412) | Cod sursa (job #384694) | Cod sursa (job #944486) | Cod sursa (job #921924)
Cod sursa(job #921924)
#include<stdio.h>
#define nmax 5005
#define modulo 666013
long long fact[nmax], n, k, i, rez, ng, r;
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%ld %ld",&n,&k);
if (k%2==1)
{
fact[0]=1;
for(i=1;i<=n;i++)
fact[i]=(fact[i-1]*i)%modulo;
ng=n/k; r=n-(k*ng);
rez=(fact[r]*fact[k-r])%modulo;
for (i=1;i<=r;i++)
rez=(rez*fact[ng+1])%modulo;
for (i=1;i<=k-r;i++)
rez=(rez*fact[ng])%modulo;
printf("%ld",rez);
}
else
printf("0");
return 0;
}