Pagini recente » Cod sursa (job #180880) | Cod sursa (job #1437840) | Cod sursa (job #2485576) | Cod sursa (job #756498) | Cod sursa (job #26024)
Cod sursa(job #26024)
#include <stdio.h>
#define input "kperm.in"
#define output "kperm.out"
#define rest 666013
long long n,k,max,ind,i;
long long sol=1;
long fact[5001];
void citire()
{
FILE *fin;
fin=fopen(input,"r");
fscanf(fin,"%ld %ld",&n,&k);
fclose(fin);
}
void afisare()
{
FILE *fout;
fout=fopen(output,"w");
fprintf(fout,"%ld",sol);
fclose(fout);
}
void solve()
{
if (k%2==0) sol=0;
else {fact[0]=1;
for (i=1;i<=n;i++)
fact[i]=(fact[i-1]*i)%rest;
sol=(fact[n%k]*fact[k-(n%k)])%rest;
max=(n%k);
ind=int(n/k);
for (i=0;i<max;i++)
sol=(sol*fact[ind+1])%rest;
for (i=max;i<k;i++)
sol=(sol*fact[ind])%rest;}
}
int main()
{
citire();
solve();
afisare();
return 0;
}