Pagini recente » Cod sursa (job #1815268) | Cod sursa (job #1099845) | Cod sursa (job #1851821) | Cod sursa (job #2238967) | Cod sursa (job #761636)
Cod sursa(job #761636)
#include <fstream>
using namespace std;
int N, K;
void Citire () {
ifstream fin ("kperm.in");
fin >> N >> K;
fin.close ();
}
int main ()
{
Citire ();
ofstream fout ("kperm.out");
if (K % 2 == 0)
{
fout << "0";
fout.close ();
return 0;
}
int lol1 = 1, lol2 = 1;
int c = N / K;
int r = N % K;
for (int i = 2; i <= r; i++)
{
lol1 = (lol1 * i) % 666013;
}
for (int i = 2; i <= K - r; i++)
{
lol2 = (lol2 * i) % 666013;
}
int alfa = 1, alfa2;
for (int i = 2; i <= c; i++)
{
alfa = (alfa * i) % 666013;
}
int q = 1, w;
alfa2 = (alfa * (c + 1)) % 666013;
w = 1;
for (int i = 1; i <= K - r; i++)
{
q = (q * alfa) % 666013;
}
for (int i = 1; i <= r; i++)
{
w = (w * alfa2) % 666013;
}
w = (w * q) % 666013;
w = (lol1 * w) % 666013;
w = (lol2 * w) % 666013;
fout << w;
fout.close ();
return 0;
}