Pagini recente » Cod sursa (job #2987620) | Cod sursa (job #145174) | Cod sursa (job #659935) | Cod sursa (job #1515004) | Cod sursa (job #1584526)
#include <stdio.h>
#define MAXN 5000
#define MOD 666013
int fact[MAXN + 1];
inline void precalc(){
int i;
fact[0] = 1;
for(i = 1; i <= MAXN; i++)
fact[i] = 1LL * fact[i - 1] * i % MOD;
}
int main(){
precalc();
FILE *in = fopen("kperm.in", "r");
int n, k, rez = 1, x, y, i;
fscanf(in, "%d%d", &n, &k);
fclose(in);
x = n % k;
y = n / k;
for(i = 0; i < x; i++)
rez = 1LL * rez * fact[y + 1] % MOD;
for(i = x; i < k; i++)
rez = 1LL * rez * fact[y] % MOD;
rez = 1LL * rez * fact[x] % MOD * fact[k - x] % MOD;
FILE *out = fopen("kperm.out", "w");
fprintf(out, "%d", rez);
fclose(out);
return 0;
}