题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
这道题我们要注意的就是exponent与0的关系,用if()语句实现。引入变量i调整base相乘的次数,引入变量temp记录每次相乘的结果。还因注意double值的溢出。
public class Solution {
public double Power(double base, int exponent) {
int i = 0 ;
double temp = 1;
if(exponent < 0){//指数小于0
exponent = -exponent;
while(i < exponent){
temp = temp * base;
if(temp>1.7976931348623157E308){
return -1;//超出范围
}
i++;
}
return 1/temp;
}else if(exponent == 0){//指数等于0
return 1;
}else{//指数大于0
while(i < exponent){
temp = temp * base;
if(temp>1.7976931348623157E308){
return -1;//超出范围
}
i++;
}
return temp;
}
}
}