/*分治思想
n= 5 2 1 0
x^5 x^2 x^1 x^0
x^2 * x^2 *x x^1 * x^1 1*1*x 1*/
class Solution {
public:
bool equal(double num1,double num2) /*判断底数是否为0*/
{
if(num1 - num2 < 0.00000001 && num1 - num2 > -0.000000001)
{
return true;
}
return false;
}
double myPow(double x, int n) {
if(equal(x,0.0)== true && n < 0) /*如果底数为0, 它不能取倒数*/
{
return 0.0;
}
if(n < 0) return 1.0/Pow(x,-n);
else return Pow(x,n);
}
double Pow(double x,int n)
{
if(n == 0)
{
return 1;
}
double nValue = Pow(x,n/2);
if(n % 2 == 0)
{
return nValue * nValue;
}
else
{
return nValue * nValue *x;
}
}
};
pow函数
最新推荐文章于 2024-05-29 09:50:55 发布