面試題16 數值的整數次方

2021-10-23 00:26:05 字數 730 閱讀 7814

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

保證base和exponent不同時為0

思路和**

題目看似很簡單,其實事實上也很簡單,但是細節需要考慮到。

首先判斷輸入base和exponent是否合理,然後判斷指數是否小於0,如果小於0,則應該求出絕對值,最後的結果還要取倒數。

在計算正數的次方時,可以利用a^n = a(n/2)*a(n/2)。

class

solution

public

:double

power

(double base,

int exponent)

unsigned

int ab***ponent =

(unsigned

int)

(exponent);if

(exponent <0)

ab***ponent =

(unsigned

int)

(-exponent)

;double result =

powerwith

(base, ab***ponent);if

(exponent <0)

result =

1.0/ result;

return result;}}

;

面試題16 數值的整數次方

實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。分析 由於不需要考慮大數問題,這道題看起來很簡單。但是需要特別注意的是 如果輸入的指數小於1 0和負數 的時候怎麼辦?當底數是0且指數是負數的...

面試題16 數值的整數次方

題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。注意幾種特殊的輸入情況,base為0,以及exponent正負時求指數的差異。方法一 class solution else 改進版 class solution unsigned...

面試題16 數值的整數次方

一 題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。二 關鍵 1.考慮齊全。指數是負數。底數為零且指數是負數的時候。底數是0.2.速度提高。三 解釋 1.求整數次方時,考慮如下的數學公...