#include <iostream>
// Function to calculate integer power
double myPow(double base, int exp) {
double power = 1;
while (true) {
if (exp & 1)
power *= base;
exp >>= 1;
if (!exp)
break;
base *= base;
}
return power;
}
int main() {
std::cout << myPow(2, 3) << std::endl; // 8
std::cout << myPow(3, 3) << std::endl; // 27
std::cout << myPow(3, 2) << std::endl; // 9
std::cout << myPow(2, 2) << std::endl; // 4
std::cout << myPow(5.0, 3) << std::endl; // 125
std::cout << myPow(-2, 4) << std::endl; // 16
}
/*
run:
8
27
9
4
125
16
*/