给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponen不同时为0
解题思路
首先要清除进行次方运算的规则:
1.如果exponent<0,那么则base需要取倒数;
2.如果exponent=0,那么始终为1,
3.如果exponent>0,正常运算
public class Solution {
public double Power(double base, int exponent) {
//base为0,exponent<=0时,没有意义
if(base == 0 && exponent <=0)
throw new RuntimeException("error");
if(exponent <= 0)
return Pow( 1/base, -exponent);
else
return Pow( base, exponent);
}
//此处定义一个函数,定义次方运算
public double Pow (double base, int exponent){
double res = 1.0;
while(exponent >= 1){
res = res * base;
exponent --;
}
//如果exponent=0,则直接返回res初始值1.0即可
return res;
}
}