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

Pow(x, n)

时间:2015-04-20 22:32:03      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

/*
    题意:实现pow(x,n)函数
    坑: 1>要用矩阵快速幂做
        2>n可能为负数
        3>n可能去INT_MIN所以需要类型转换
*/
class Solution {
public:
    double pow(double x, int n) {
        double res = 1;
        int sign = 0;
        long m = (long)n;
        if(m<0) {
            sign = 1;
            m = 0-m;
        }
        while(m){
            if(m&1){
                res*=x;
            }
            x*=x;
            m>>=1;
        }
        return sign ?1.0/res:res;
    }
};

 

Pow(x, n)

标签:

原文地址:http://www.cnblogs.com/llei1573/p/4442648.html

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