题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
思路
没什么好讲。就是模拟即可。不要被自己的测试所吓倒了(出现后面一长串的000后面又出来一个乱数字),这是由于浮点数类型,在计算的时候有特殊计算方法。具体了解 IEE754标准
。
特殊情况:
- 任何数的0次方都是1
- 0的任何次方都是0
- 指数是负数,对答案求一次倒数即可
AC代码
public class Solution {
public double Power(double base, int exponent) {
double answer = 1;
if(exponent == 0)
return 1;
if(base == 0)
return 0;
for(int i = 0 ; i < Math.abs(exponent) ; i++) {
answer *= base;
}
if(exponent > 0)
return answer;
else
return 1 / answer;
}
}