打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
剑指offer 12 数值的整数次方

题目描述

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


class Solution {
public:
    double Power(double base, int exponent) {
             if (exponent>0)
            {
                double sum = 1.00000;
                for (int i = 0; i < exponent; i++)
                {
                    sum *= base;
                }
                return sum;
            }
            else
            {
                double sum = 1.00000;
                for (int i = 0; i < -exponent; i++)
                {
                    sum *= base;
                }
                return 1.00000/sum;
            }
    }
};




public class Solution {
    public double Power(double base, int exponent) {
        int flag=exponent>=0?1:0;
        double ret=1;
        exponent=Math.abs(exponent);
        while(exponent!=0){
//取b二进制的最低位,判断和1是否相同,相同返回1,否则返回0,可用于判断奇偶
            if((exponent&1)!=0)
                ret=ret*base;
            base=base*base;
            exponent=exponent>>1;//把b的二进制右移一位,即去掉其二进制位的最低位
        }
        return flag==1?ret:(1.0/ret);
  }
}



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【剑指Offer】数值的整数次方
427,剑指 Offer-数值的整数次方
算法54(数值的整数次方)
Java实现可变参数编程(即参数个数不定,可以随意添加)
math.h
求和操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服