【剑指offer】数值的整数次方

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
 
快速幂,注意exponent为负数的情况
 
class Solution {
public:
    double q_pow(double a, int b) {
        double ans = 1.0;
        while(b) {
            if(b&1) ans = ans*a;
            a *= a;
            b >>= 1;
        }
        return ans;
    }
    double Power(double a, int b) {
        if(b < 0) {
            return 1.0/q_pow(a, -b);
        }
        return q_pow(a, b);
    }
};

 

posted @ 2019-03-05 13:47  LesRoad  阅读(216)  评论(0编辑  收藏  举报