数的整数次方

编程实现m^n

这道题乍一看使用递归就出来了,但是递归过程中会有很多重复计算。
因此借这个公式避免不必要的计算


幂方.png
int power(int base, int exponent)
{
  if(exponent == 0)return 0;
  int n = exponent;
  if(n<0)
     n = -n;
  
  int res = power(base, exponent>>1);
  res *= res;
  if(n && 0x01 == 1) 
      res *= base;
  
  return res;
}

你可能感兴趣的:(数的整数次方)