Cod sursa(job #3342028)
| Utilizator | Data | 22 februarie 2026 15:00:09 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 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 = (product * base) % MOD;
base = (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;
}
