Pagini recente » Cod sursa (job #2856780) | Cod sursa (job #1839938) | Cod sursa (job #452395) | Cod sursa (job #1565113) | Cod sursa (job #2062852)
#include <cstdint>
#include <fstream>
using namespace std;
constexpr uint32_t kMod = 1999999973;
uint32_t RaiseMod(uint32_t base, uint32_t exp, uint32_t mod = kMod)
{
if (exp == 0) {
return 1;
} else if (exp == 1) {
return base % mod;
}
if (exp % 2 == 0) {
auto root = RaiseMod(base, exp / 2, mod);
return (1LL * root * root) % mod;
}
return 1LL * base * RaiseMod(base, exp - 1, mod) % mod;
}
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
uint32_t base, exponent;
fin >> base >> exponent;
auto res = RaiseMod(base, exponent);
fout << res << "\n";
return 0;
}