Pagini recente » Cod sursa (job #2064224) | Cod sursa (job #1588621) | Cod sursa (job #2393949) | Cod sursa (job #1136610) | Cod sursa (job #25355)
Cod sursa(job #25355)
#include <stdio.h>
int n,k,N,K,P;
long long answer;
#define MOD 666013
FILE *f;
long long fact(int t)
{
long long ret = 1,i;
if (t == 0) return 1;
for(i=1;i<=t;i++)
ret = (ret*i) % MOD;
return ret;
}
long long power(long long b, int p)
{
long long ret=1,i;
if (p==0) return 1;
for(i=1;i<=p;i++)
ret =(ret*b)%MOD;
return ret;
}
int main (void)
{
f=fopen("kperm.in","r");
fscanf(f,"%d %d",&n,&k);
fclose(f);
K=k;
N=n/k; if (n%k!=0) N++;
P=k-n%k; if (n%k==0) P=0;
answer = power (fact(N),K-P);
if (P!=0) answer *= power ( fact(N-1), P);
answer = answer % MOD;
answer *= fact (K-P);
answer = answer % MOD;
answer *= fact ( P ) ;
answer = answer % MOD;
f=fopen("kperm.out","w");
fprintf(f,"%lld\n",answer);
fclose(f);
return 0;
}