题目描述

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

代码

class Solution {
public:
    double Power(double base, int exponent) {
        if (exponent==0) return 1;
        
        bool neg = false;
        
        if (exponent < 0) {
            exponent *= -1;
            neg = true;
        }
        
        double rs = 1;
        int index = exponent/2;
        while(index > 0) {
            rs = rs*base*base;
            index /= 2;
        }
        
        if(exponent%2==1)
            rs = rs*base;
        
        if (neg)
            rs = 1/rs;
        
        return rs;
       
    }
};

需要注意的是指数可能会是负数,在做的时候需要小心。

相关文章:

  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2021-10-04
猜你喜欢
  • 2021-08-21
  • 2021-09-16
  • 2022-02-19
  • 2021-09-10
  • 2021-12-03
  • 2021-11-20
  • 2022-01-13
相关资源
相似解决方案