剑指offer第十二题【数值的整数次方】c++实现

数值的整数次方
  • 参与人数:2920时间限制:1秒空间限制:32768K
  • 通过比例:25.37%
  • 最佳记录:0 ms|8552K(来自  ccnew)

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

这道题指数不会大,直接for循环也能做,但我习惯性用快速幂去做

本题就是指数可能为负的,取倒数就可以了。

    double Power(double base, int exponent) {
        bool flag=false;
        if(exponent<0){
            exponent=-exponent;
            flag=true;
        }
        double res=1;
        while(exponent>0){
            if(exponent&1){
                res*=base;
            }
            base*=base;
            exponent>>=1;

        }
        if(flag==true){
            return 1/res;
        }
        return res;
    }


你可能感兴趣的:(剑指offer)