给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
思路:针对此题首先要分为以下几种情况:
1-base等于0时:结果恒等于0;
2-exponent 等于0时:结果恒等于1;
3-base和exponent都不等于0时:
(1)exponent大于0,那就直接不断使base和base相乘exponent次。
(2)exponent小于0,首先让base和base相乘-exponent,然后在对相乘的结果取倒数。
class Solution {
public:
double Power(double base, int exponent) {
if(base==0)
return 0;
if(exponent==0)
return 1;
double temp;
double result=1;
int i=1;
if(exponent<0)
temp=-exponent;
else
temp=exponent;
while(i++<=temp){
result*=base;
}
if(exponent<0)
return 1/result;
return result;
}
};