Cod sursa(job #2984235)
Utilizator | Cristi Cretu etohirse | Data | 23 februarie 2023 19:13:00 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
#define ull unsigned long long
#define M 1999999973
ull lgput(ull a, ull b) {
ull ans(1);
while (b) {
if (b & 1) ans = (ans * a) % M;
a = (a * a) % M;
b >>= 1;
}
return ans;
}
ull a, b;
int main() {
fin >> a >> b;
fout << lgput(a, b) << '\n';
return 0;
}