题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
思路
- 考虑幂的取值情况
- 快速幂算法:
代码
public class Solution {
public double Power(double base, int exponent) {
//return Math.pow(base,exponent);
//底数=0
if(base == 0) return 0;
//幂是正整数、负整数、0
double temp = 1;
if(exponent > 0){
for(int i =1;i<=exponent;i++){
temp*=base;
}
return temp;
}
if(exponent < 0){
int exp = Math.abs(exponent);
for(int i =1; i<=exp; i++){
temp*=base;
}
return 1.0/temp;
}
return 1;
}
}