一、问题描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
二、思路
注意考虑边界情况,如指数幂的正负号以及底数为0的情况。
三、代码
class Solution {
public:
double Power(double base, int exponent) {
double result = 1.0;
if(base == 0) return 0;
bool flag = true;
if(exponent == 0) return 1;
else if(exponent < 0){
exponent = -exponent;
flag = false;
}
while(exponent != 0){
if(exponent % 2 != 0)
result = result * base;
base *= base;
exponent /= 2;
}
if(flag == false)
return 1 / result;
return result;
}
};