12_數值的整數次方

題目描述

給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。

保證base和exponent不同時爲0

public class Power_12 {
    public double Power(double base, int exponent) {
        //x^-2可以轉換成(1/x)^2
        if (exponent < 0){
            base = 1/base;
            exponent = -exponent;
        }

       if (exponent == 0)
           return 1;
       if (exponent == 1)
           return base;
       double result = Power(base, exponent>>1);
       result *= result;
       if ((exponent & 1) != 0) {
           result *= base;
       }
       return result;
    }

    public static void main(String[] args) {
        Power_12 p = new Power_12();
        double b = p.Power(2,-2);
        System.out.println(b);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章