在网上突然看到一个pow的C++实现,随意看了看,发现不对,补充了下 1和-1的情况,补充完如下:
就不贴链接了,免得那兄弟尴尬
double myPow(double x, int n)
{
if(n == 0)
return 1;
else if(n == 1)
return x;
else if(n == -1)
return 1/x;
double half = myPow(x, n/2);
// 如果n是偶数
if(n%2 == 0)
return half*half;
// n是大于0的奇数
else if(n > 0)
return half*half*x;
// n是小于0的奇数
else
return half*half*(1/x);
}