题目描述:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
解题思路:
一开始直接用一个for循环做连乘,测了一下,发现这个指数可能是负数,于是分了两种情况后ac。
看了网上的题解,发现还有base为0的情况,此时直接就返回0,但是这里不能直接用==来判断两个小数是否相等。设定一个很小的数来做判断,例如0.0000001。
代码:
class Solution {
public:
double Power(double base, int exponent) {
if((base-)>-0.0000001 && (base-)<0.0000001)
return ;
if(exponent==)
return ;
double sum=;
if(exponent>)
{
for(int i = ; i<=exponent; i++)
{
sum = sum*base;
}
return sum;
}
else{
for(int i=; i<=(-exponent); i++)
{
sum = sum*(1.0/base);
}
}
return sum;
}
};