描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0。不得使用库函数,同时不需要考虑大数问题,也不用考虑小数点后面0的位数。
示例1
输入:
2.00000,3
返回值:
8.00000
示例2
输入:
2.10000,3
返回值:
9.26100
示例3
输入:
2.00000,-2
返回值:
0.25000
说明:
2的-2次方等于1/4=0.25
解题思路
这道题比较友好,友友们应该直接就可以解出来吧:
分三种情况讨论:指数小于零,指数等于零,以及指数大于零~
代码
public class Solution {
public double Power(double base, int exponent) {
if(exponent < 0){
base = 1/base;
exponent = -exponent;
}
if(exponent == 0){
return 1.00000;
}
double temp = base;
for(int i = 1; i < exponent; i++){
base = base * temp;
}
return base;
}
}
我觉得这个方法挺好的~