Pagini recente » Cod sursa (job #1162073) | Cod sursa (job #1330410) | Cod sursa (job #2803982) | Cod sursa (job #2777942) | Cod sursa (job #28986)
Cod sursa(job #28986)
#include<stdio.h>
#define IN_FILE "kperm.in"
#define OUT_FILE "kperm.out"
#define mod 666013;
long long n,k,q,r,c;
FILE *f1,*f2;
void lucru()
{
long long y,i,z;
r=n%k;
c=n/k;
y=1; z=1;
for(i=1; i<=r; ++i)
y=(y*i)%mod;
for(i=1; i<=k-r; ++i)
z=(z*i)%mod;
q=(z*y)%mod;
y=1;
for(i=1; i<=c+1; i++)
y=(y*i)%mod;
z=1;
for(i=1; i<=r; i++)
z=(z*y)%mod;
q=(q*z)%mod;
y=1;
for(i=1; i<=c; i++)
y=(y*i)%mod;
z=1;
for(i=1; i<=k-r; i++)
z=(z*y)%mod;
q=(q*z)%mod;
}
int main()
{
f1=fopen(IN_FILE,"r");
f2=fopen(OUT_FILE,"w");
fscanf(f1,"%d",&n);
fscanf(f1,"%d",&k);
if(k%2==0)
q=0;
else
lucru();
fprintf(f2,"%d",q);
fclose(f1);
fclose(f2);
return 0;
}