数值的整数次方
题目描述
给定一个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;
}
}

更多精彩