Cod sursa(job #3123282)
Utilizator | Radu Stancu radustn92 | Data | 22 aprilie 2023 20:33:46 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <iostream>
#include <cstdio>
using namespace std;
const int MOD = 1999999973;
long long N, P;
int main() {
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
cin >> N >> P;
long long result = 1;
while (P) {
if (P & 1) {
result = (result * N) % MOD;
}
N = (N * N) % MOD;
P >>= 1;
}
cout << result << "\n";
return 0;
}