题目描述

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

分析

递归:n为偶数,a^n=a^n/2a^n/2;n为奇数,a^n=(a^(n-1)/2)(a^(n-1/2))*a

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

贴出代码

public class Solution {
    public double Power(double base, int exponent) {
        int n = Math.abs(exponent);
        if(n == 0){
            return 1;
        }
        if(n == 1){
            return base;
        }
        double result = Power(base,n>>1);
        result *= result;
        if((n&1) == 1){
            result *= base;
        }
        if(exponent < 0){
            result = 1/result;
        }
        return result;
  }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄