Pagini recente » Cod sursa (job #1883633) | Cod sursa (job #2860118) | Cod sursa (job #1939355) | Cod sursa (job #1352226) | Cod sursa (job #761611)
Cod sursa(job #761611)
#include <fstream>
using namespace std;
int N, K;
void Citire () {
ifstream fin ("kperm.in");
fin >> N >> K;
fin.close ();
}
void Business ()
{
int dif = N - K, u = N - (dif << 1);
int lol = 1, i;
for (i = 2; i <= u && i <= dif; i++)
{
lol = ((lol * i) % 666013 * i) % 666013;
}
for (; i <= u || i <= dif; i++)
{
lol = (lol * i) % 666013;
}
while (dif >= 32)
{
lol = (lol << 5) % 666013;
dif -= 32;
}
while (dif >= 8)
{
lol = (lol << 3) % 666013;
dif -= 8;
}
while (dif--)
{
lol = (lol << 1) % 666013;
}
ofstream fout ("kperm.out");
if (K % 2 == 0)
{
fout << "0";
fout.close ();
}
else
{
fout << lol;
fout.close ();
}
}
int main ()
{
Citire ();
Business ();
return 0;
}