题目描述:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方
class Solution {
public:
double Power(double base, int exponent) {
if(exponent == 0)
{
return 1;
}
else if(exponent > 0 )
{
return Power(base ,exponent-1) * base;
}
else
{
return 1/(Power(base ,-(1+exponent)) * base);
}
}
};
方法很多这里使用递归实现 , expoent 分为 大于0 , 小于 0 ,== 0 , == 0 时 为1 ,> 0 时 f(base,n) = f(base , n-1) * base; ,
< 0 时 转化为大于0 ,再做 1/ f(base , n).