剑指offer-数值的整数方
数值的整数方
一、问题描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
二、算法思路
按照指数Exp的情况进行讨论。
- Exp>0
- Exp=0
- Exp<0
三、算法实现
public class Solution {
public double Power(double base, int exponent) {
double result=base;
if(exponent>0){
while(exponent>1){
result=result*base;
exponent--;
}
}
else if(exponent==0) result=1;
else{//exp<0
int exp=~exponent+1;//把负数变成正数
while(exp>1){
result=result*base;
exp--;
}
result=1/result;
}
return result;
}
}
keep going