劍指offer 數值的整數次方

2021-08-21 11:42:50 字數 600 閱讀 1107

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

將指數大於0,小於0,等於0(底數不為0)的情況分開。其實指數為0的情況不必單獨拎出來(不進入if直接返回result為1.0),真正需要考慮的是,底數為0而指數為負的情況,數學上沒有意義。書上的做法是設定乙個全域性變數,檢查輸入是否有效,這種情況下該bool值為true,返回0。怎樣判斷是正常返回0還是異常返回0呢?呼叫函式檢查該全域性變數為true還是false。

class solution 

}else

}return result;}};

注意:

兩個double值由於精度原因不能直接用==來比較是否相等,要看它們的差的絕對值是否小於乙個很小的值。

優化:計算乙個數的正整數次方時,可加速,時間複雜度由o(n)變為o(logn)

劍指offer 數值的整數次方

1 題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。2 思路 需要考慮到的情況 1 指數為負數的時候,可以先對指數求絕對值,算出次方之後的結果再取倒數。2 當底數是0,指數是負數的時候,可以將無效變數設定為true,並返回0。3...

劍指offer 數值的整數次方

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。1.最直觀的方法,遞迴求解a b a a b 1 當然也可以用迴圈實現。要注意特殊情況,指數為0時乘方結果都是1 指數為負數時的計算,可以先轉化為正數再求倒數,但是底數為0時不能求導。2.效...

劍指offer 數值的整數次方

題目描述 實現函式double power double base,int exponent 求base的exponent次方,不得使用庫函式,同時不需要考慮大數問題。進行浮點數判斷是不是等於0 bool equal double num1,double num2 return false doub...