Pagini recente » Cod sursa (job #1212649) | Cod sursa (job #2546898) | Cod sursa (job #2160432) | Cod sursa (job #996808) | Cod sursa (job #1181588)
#include <stdio.h>
using namespace std;
long long fact[1000010],k,n,rest[1000000],i,s,max,x,y;
FILE*f=fopen("kperm.in","r");
FILE*g=fopen("kperm.out","w");
int main()
{
fscanf(f,"%lld%lld",&n,&k);
for(i=1;i<=n;i++)
{
rest[i%k]++;
if(rest[i%k]>max) max=rest[i%k];
}
fact[0]=1;
fact[1]=1LL;
for(i=2;i<=1000001;i++)
fact[i]=(i*fact[i-1])%666013;
printf("%lld ",fact[1000000]);
x=n%k;
y=k-x;
s=fact[x]*fact[y];
for(i=0;i<k;i++)
s=(s*fact[rest[i]])%666013;
if(k%2)
fprintf(g,"%lld",s);
else fprintf(g,"0");
fclose(f);
fclose(g);
return 0;
}