编程实现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;
}
网友评论