Pagini recente » Cod sursa (job #204330) | Cod sursa (job #1807933) | Cod sursa (job #2171333) | Cod sursa (job #385595) | Cod sursa (job #1584529)
#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");
if(k % 2 == 0)
rez = 0;
fprintf(out, "%d", rez);
fclose(out);
return 0;
}