16 數值的整數次方

2021-09-19 04:27:53 字數 728 閱讀 9020

實現函式pow(double base, int exponent)

常規的思路是,迴圈相乘,雖然簡單,也有幾個要注意的地方

0 的負數次方是錯誤的輸入引數,因為負數次冪是借助除法算出,0 不能作為分母

非0數的負數次冪是,先求正數次冪,再取倒數。

0 的 0 次方是無意義的 (處理 or 不處理)

而迴圈相乘的部分可以優化,

a^n = a^(n/2) * a^(n/2)n為偶數

a^n =a^(n-1/2)* a^(n-1/2)*an為奇數

這樣,o(logn)下就可以求出結果

public

static

double

pow(

double base,

int exponent)

throws exception

if(exponent <0)

else

}private

static

double

power

(double base,

int exponent)

else

if(exponent ==1)

else

return result;

}}

16 數值的整數次方

public class doublepower 沒有考慮指數為負數和指數小於1的情況 param base 底數 param exponent 指數 return 結果 public static double power1 double base,int exponent return resu...

數值整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...

數值整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮 大數問題。includebool equal double num1,double num2 double powerwithunsignede...