Pagini recente » Cod sursa (job #2062938) | Cod sursa (job #1162209) | Cod sursa (job #1680524) | Cod sursa (job #3241999) | Cod sursa (job #3302715)
#include <iostream>
#include <fstream>
using namespace std;
const int MOD = 1999999973;
int logpow(int a, int b) {
if (b == 0) return 1;
if (b % 2 == 0) {
int half = logpow(a, b / 2);
return (1LL * half * half) % MOD;
} else {
return (1LL * a * logpow(a, b - 1)) % MOD;
}
}
int logpow_fancy(int a, int b) {
int r(1);
for (; b; b >>= 1, a = (1LL * a * a) % MOD)
if (b & 1)
r = (1LL * r * a) % MOD;
return r;
}
int main() {
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int a, b;
fin >> a >> b;
fout << logpow_fancy(a, b) << endl;
return 0;
}