Cod sursa(job #3123283)

Utilizator radustn92Radu Stancu radustn92 Data 22 aprilie 2023 20:37:27
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <cstdio>
using namespace std;
const int MOD = 1999999973;

long long N, P;

long long lgput(long long base, long long exp) {
    if (exp == 0) {
        return 1;
    }
    long long result = lgput(base, exp / 2);
    result = (result * result) % MOD;
    if (exp & 1) {
        result = (result * base) % MOD;
    }
    return result;
}

int main() {
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);

    cin >> N >> P;
    cout << lgput(N, P) << "\n";
    return 0;
}