[剑指offer] 12. 数值的整数次方

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

用求快速幂方法,循环替代递归减少运行时间。
考虑指数正负问题。
class Solution
{
public:
  double Power(double base, int exponent)
  {
    long exp = abs(exponent);
    double res = 1.0;
    while (exp)
    {
      if (exp & 1)
        res *= base;
      base *= base;
      exp >>= 1;
    }
    return exponent > 0 ? res : 1 / res;
  }
};
原文地址:https://www.cnblogs.com/ruoh3kou/p/10049426.html