题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
解题思路
考虑各种情况、递归
代码实现
public class Solution {
public double Power(double base, int exponent) {
if(exponent < 0){
base = 1 / base;
exponent = - exponent;
}
if(exponent == 0)
return 1.0;
double res = Power(base, exponent / 2);
if((exponent & 1) == 1){ // 奇数
return res * res * base;
}
else{
return res * res;
}
}
}
本文介绍了一种求解浮点数base的整数次幂exponent的算法,通过递归方式实现,考虑了指数为负数的情况,将问题转换为正指数幂的计算,并通过位运算判断奇偶性来优化计算过程。
6万+

被折叠的 条评论
为什么被折叠?



