题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0 剑指offer面试题16
代码
public class Solution {
public double Power(double base, int exponent) {
if(base==0){
return 0.0;
}else if(exponent==0){
return 1;
}
double re = 1;
boolean flag = false;
if(exponent<0){
flag = true;
}
for(int i = 0;i<Math.abs(exponent);i++){
re*=base;
}
if(flag){
re = 1/re;
}
return re;
}
}
思路
- 如果base是0,那么不管指数是什么,都返回0
- 如果base不为0,指数为0,则返回1
- 如果指数是负数,那么先按照正数的方法求好后,求个倒数
- 具体求解就利用for循环一个个乘起来
- 一直会忘记考虑负数,头疼