题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
思路:该题主要考边界went问题,A的n次方,边界有以下情况:
1:n为0时,任意数的n次方均为0
2:A为0时,n>0时,返回0ji即可,但是n<0时,则A^-1方为例,等于1/A,A不能为0,所以这种情况是错误的,返回false
3:A不为0时,但n<0时,这是结果we为A的abs(n)次方的倒数。
代码:
class Solution {
public:
double Power(double base, int exponent) {
if(exponent == 0)
{
return 1;
}
float p = 1;
if(base == 0 && exponent < 0)
{
return false;
}
else
{
for(int i=1;i<=abs(exponent);i++)
{
p = p * base;
}
if(exponent<0)
{
p = (float)1/p;
}
}
return p;
}
};