码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode--Pow(x, n)

时间:2014-08-07 19:17:00      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   io   2014   ar   代码   

Problem Description:

Implement pow(xn).

分析:题目意思很简单,要求计算x的n次幂,其中x给的是double类型,n需要考虑负数的情况,利用二分的思想每次将n减半,递归计算可以得到最终结果,其中一些细节需要注意,具体的实现代码如下:

class Solution {
public:

    bool isequal(double a,double b)
    {
        if(a-b<0.0000001&&a-b>-0.0000001)
            return true;
        else
            return false;
    }

    double pow(double x, int n) {
        double result=1;
        if(isequal(0.0,x))
            return 0;
        if(n==0)
            return 1;
        int flag=1;
        
        if(n<0)
        {
            flag=-1;
            n=-n;
        }
        result=pow(x,n/2);
        result*=result;
        
        if(n%2==1)
            result*=x;
        if(flag==-1)
            result=1/result;
        return result;
    }
};


Leetcode--Pow(x, n),布布扣,bubuko.com

Leetcode--Pow(x, n)

标签:des   style   blog   color   io   2014   ar   代码   

原文地址:http://blog.csdn.net/longhopefor/article/details/38419895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!