面試題11 數值的整數次方

2022-04-28 21:21:12 字數 688 閱讀 2124

題目:實現函式double power(double power(double base, int exponent),求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。

解法一:全面但不夠高效的解法

需要注意的地方:

1

bool g_invalidinput = false;//

全域性變數標識輸入是否出錯

2double power(double

base, int

exponent)39

if (exponent < 0)10

return

1.0/powerwithunsignedexponent(base, -1*exponent);

11else

12return powerwithunsignedexponent(base

, exponent);

1314}15

//判斷兩個小數是否相等只能判斷它們之差的絕對值是不是在乙個很小的範圍內。

16bool equal(double num1, double

num2)

1724

double powerwithunsignedexponent(double

base, unsigned int

exponent)

25

面試題11 數值的整數次方

題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。這道題目有以下幾點需要注意 0的0次方是無意義的,非法輸入 0的負數次方相當於0作為除數,也是無意義的,非法輸入 base如果非0,如果...

面試題11 數值的整數次方

面試題11 題目 實現函式double power double base,int exponent 求base的exponent次方。不使用庫函式,不考慮大數問題。需要考慮的是當輸入的指數 exponent 為0或負數的情況。bool g invalidinput false 採用全域性變數來標識...

面試題11 數值的整數次方

這個問題我想很多人拿到之後直接設定乙個for迴圈,讓底數自乘次方和次數就行。但是沒有考慮到底數是0 指數是0 以及指數是負數的情況 coding utf 8 不得使用庫函式,實現數值的整數次方 def power base,exponent answer 1.0 if isequaltozero b...