链接:https://leetcode.com/problems/powx-n/
问题描述:
Implement pow(x, n).
Hide Tags Math Binary Search
实现pow函数。这个问题可以用递归解决,联想到到 Binary Search,我的解决方案是每次让指数缩小两倍,当指数为技术的时候需要特别处理。还有指数为负的情况需要注意。
class Solution {
public:
double myPow(double x, int n)
{
if(n>0)
return mPow(x,n);
else
return 1.0/mPow(x,-n);
}
double mPow(double x, int n)
{
if(n==0) return 1;
if(n==1) return x;
double result=x*x;
if(n>0)
{
if(n%2==0)
return myPow(result,n/2);
else
return myPow(result,(n-1)/2)*x;
}
}
};
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/efergrehbtrj/article/details/46703463