Cod sursa(job #3206022)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 21 februarie 2024 13:56:44
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
long long n, m;
long long mod = 1999999973;

long long lgp(long long n, long long m) {
    int ans = 1;
    while (m > 0) {
        if (m & 1) {
            ans = (ans * n) % mod;
            m--;
        }

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

    return ans;
}

int main()
{
    in >> n >> m;
    out << lgp(n, m) << '\n';
    return 0;
}