数值的整数次幂

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0

实例分析:
图片说明
非递归的快速次幂方法

public class Solution {
    public double Power(double base, int exponent) {
        //return Math.pow(base,exponent);
        if(exponent<0){
            base=1/base;
            exponent=-exponent;
        }
        double x=base;   //记录x^0,x^1,x^2....
        double ret=1.0;
        while(exponent!=0){
            if((exponent&1)!=0){
                ret*=x;       //把二进制在位为1的乘
            }
            x*=x;
            exponent>>=1;
        }
        return ret;
  }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:31
点赞 评论 收藏
分享
07-09 15:14
南京大学 C++
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务