数值的整数次方(剑指offer-12)

Question:

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

Idea:

 

Answer:

public class Solution {
    public double Power(double base, int exponent) {
        if(exponent == 0) return 1;
        if(exponent == 1) return base;
        boolean flag = false;//根据指数正负判断是否要用1除
        if(exponent< 0) {
            exponent = -exponent;
            flag = true;
        }
        double pow = Power(base*base,exponent/2);
        if(exponent % 2!=0){//如果指数为奇数,则要再乘一个底数
            pow = pow * base;
        }
      return flag? 1/pow : pow;
    }
}

 

你可能感兴趣的:(数值的整数次方(剑指offer-12))