Pagini recente » Cod sursa (job #453589) | Cod sursa (job #1875514) | Cod sursa (job #1655868) | Cod sursa (job #1582267) | Cod sursa (job #1181579)
#include <stdio.h>
using namespace std;
unsigned long fact[1000000],k,n,rest[1000000],i,s,max;
FILE*f=fopen("kperm.in","r");
FILE*g=fopen("kperm.out","w");
int main()
{
fscanf(f,"%lu%lu",&n,&k);
for(i=1;i<=n;i++)
{
rest[i%k]++;
if(rest[i%k]>max) max=rest[i%k];
}
fact[1]=1;
for(i=2;i<=max+5;i++)
fact[i]=(i*fact[i-1])%666013;
if(n%k==0) s=fact[k]%666013;
else s=2;
for(i=0;i<k;i++)
s=(s*fact[rest[i]])%666013;
fprintf(g,"%lu",s);
fclose(f);
fclose(g);
return 0;
}