pow的一种实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangcg123/article/details/86686038

在网上突然看到一个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);
}
 

猜你喜欢

转载自blog.csdn.net/wangcg123/article/details/86686038