数值的整数方

一、问题描述

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

二、算法思路

按照指数Exp的情况进行讨论。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  1. Exp>0
  2. Exp=0
  3. Exp<0

三、算法实现

public class Solution {
    public double Power(double base, int exponent) {
        double result=base;
        if(exponent>0){
            while(exponent>1){
                result=result*base;
                exponent--;
            }
        }
        else if(exponent==0) result=1;
        else{//exp<0
            int exp=~exponent+1;//把负数变成正数
            while(exp>1){
                result=result*base;
                exp--;
            }
            result=1/result;
        }
        return result;
  }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄