Pagini recente » Istoria paginii runda/tsa_ojisim2014 | Cod sursa (job #1811628) | Istoria paginii runda/tsa_ojisim2014/clasament | Cod sursa (job #213463) | Cod sursa (job #2683426)
#include <stdio.h>
#include <fstream>
long long unsigned BC(long long unsigned X, long long unsigned N)
{
switch (N)
{
case 0:
return 1; break;
case 1:
return X; break;
default:
{
if (N % 2 == 0)
return BC(X * X, N / 2);
else
return X * BC(X * X, (N - 1) / 2);
}
}
}
int main()
{
std::ifstream in("lgput.in");
std::ofstream out("lgput.in");
long long unsigned a, b;
in >> a >> b;
out << BC(a, b) % 1999999973;
return 0;
}