實現函式而迴圈相乘的部分可以優化,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)*a
n為奇數
這樣,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...