Cod sursa(job #3245212)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 27 septembrie 2024 22:02:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");

long long n, p;
long long mod = 1999999973;

long long lgp(long long n, long long p) {
    long long ans = 1;

    while (p) {
        if (p & 1) {
            ans = (ans * n) % mod;
            p--;
        }

        n = (n * n) % mod;
        p >>= 1;
    }

    return ans;
}

int main() {

    in >> n >> p;
    out << lgp(n ,p) << '\n';
    return 0;
}