Pagini recente » Cod sursa (job #2712916) | Cod sursa (job #795906) | Cod sursa (job #199322) | Cod sursa (job #2345813) | Cod sursa (job #28957)
Cod sursa(job #28957)
#include<stdio.h>
#define IN_FILE "kperm.in"
#define OUT_FILE "kperm.out"
#define mod 666013;
int n,k,q,r,c;
FILE *f1,*f2;
void lucru()
{
int 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;
}