Cod sursa(job #3342032)

Utilizator Sabin1133Padurariu Sabin Sabin1133 Data 22 februarie 2026 15:05:42
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>

#define MOD 1999999973U

unsigned int log_pow_mod(unsigned int base, unsigned int exp)
{
    unsigned int product = 1;

    while (exp) {
        if (exp & 1)
            product = (1LL * product * base) % MOD;

        base = (1LL * base * base) % MOD;
        exp >>= 1;
    }

    return product;
}

int main()
{
    unsigned int base, exp;

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

    std::cin >> base >> exp;

    std::cout << log_pow_mod(base, exp) << "\n";

    return 0;
}