Sad things happen when you lose your mind:
using i64 = long long; // Precondition: (base, exponent) won't cause overflow i64 my_pow(const i64 base, const i64 exponent) { i64 accumulator = 0; for (i64 exponent2 = exponent, current_power = base; exponent2 > 0; exponent2 >>= 1, current_pow *= current_pow) { if (exponent2 & 1) { accumulator += current_power; } } return accumulator; }
No comments:
Post a Comment