实现函数 double Power(double base, int exponent),求base的exponent次方。

注意:

1.保证base和exponent不同时为0。

2.不得使用库函数,同时不需要考虑大数问题

3.有特殊判题,不用考虑小数点后面0的位数。

【数论】快速幂:实现pow(double ,int)_数据结构

 

【数论】快速幂:实现pow(double ,int)_Power_02

 

class Solution {
public:
    double pow(double b,int e){
        if(e==0)return 1;
        if(e==1)return b;
        double res=pow(b,e/2);
        if(e%2==0){
            return res*res;
        }
        else{
            return res*res*b;
        }
    }
    double Power(double base, int exponent) {
    if(exponent==0)return 1;
    if(exponent==1)return base;
    if(exponent<0){
        return pow(1/base,-exponent);
    }
    else{
        return pow(base,exponent);
    }
    
    }
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.