題意:給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
public
class solution
if(exponent < 0)
return
1 / res;
else
return res;
}}
有一點很重要:整數包括正數、負數和零!
還有一點:指數函式的底數不能為0;
另外一種好方法,就是通過計算exponent一半時候的結果
public
class solution
return (exponent > 0) ? (res) : (1/res);
}}
在這裡有這麼幾點需要注意:
(1)判斷乙個數是正負數這種類似的情況,不要使用if和else if了,使用三目運算子比較簡單。
(2)乙個數除以2 的這樣情況,不要使用 value/2的形式了,使用value >> 1比較合適
(3)判斷乙個數是奇數還是偶數,不要使用除二取餘判斷了,還是使用 (value & 1) == 1 的結果來判斷!!!
參考:
11 數值的整數次方
要注意的幾個地方 1.如何判斷兩個double型別的資料是否相等。2.需要進行power有效性的判斷,0的負指數次方沒有意義。3.在進行power運算的時候要考慮效率。includeusing namespace std bool isvalid true bool ispositive true ...
11 數值的整數次方
題目描述 給定乙個 double 型別的浮點數 base 和 int 型別的整數 exponent。求base 的 exponent 次方。不得使用庫函式,不需要考慮大數問題 思路 不能用 比較兩個浮點數是否相等,因為有誤差。考慮輸入值的多種情況。實現 public double power dou...
11 數值的整數次方 Power
題目 實現函式double power double base,int exponent 求 base 的 exponent 次方。不得使用庫函式,同時不需要考慮大數問題。解析 首先想好測試案例,找出特殊情況 base 可能 正數 負數 0 exponent 可能正數 負數 0 0,0 無意義,返回...