2021-07-13 数值的整数次方

2021-07-13  本文已影响0人  hlchengzi

快速降幂法

public class Solution {
    public double Power(double base, int exponent) {
        if(exponent == 0){
            return 1.0;
        }
        if(exponent == 1){
            return base;
        }
        if(exponent == -1){
            return 1/base;
        }
        int origin = exponent;
        if(exponent<0){
            exponent*=-1;
        }
        double before = 1;
        if(exponent%2 == 1){
            before *= base;
        }
        double result = base;
        while(exponent>1){
            exponent /=2;
            result = result*result;
        }
        return origin>0?before*result:1/(before*result);
  }
}
上一篇 下一篇

猜你喜欢

热点阅读