题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
代码
class Solution {
public:
double Power(double base, int exponent) {
if (exponent==0) return 1;
bool neg = false;
if (exponent < 0) {
exponent *= -1;
neg = true;
}
double rs = 1;
int index = exponent/2;
while(index > 0) {
rs = rs*base*base;
index /= 2;
}
if(exponent%2==1)
rs = rs*base;
if (neg)
rs = 1/rs;
return rs;
}
};
需要注意的是指数可能会是负数,在做的时候需要小心。