題目描述
給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
注意幾種特殊的輸入情況,base為0,以及exponent正負時求指數的差異。
方法一:
class solution
else
}};
改進版:
class solution
unsigned int ab***ponent = (unsigned int)(exponent);
if(exponent < 0)
ab***ponent = (unsigned int)(-exponent);
double result = powerwithunsignedexponent(base,ab***ponent);
if(exponent < 0)
result = 1.0/result;
return result;
}double powerwithunsignedexponent(double
base,int ab***ponent)
bool equal(double a, double b)
};
方法二:遞迴實現,使用位運算代替除法及求餘運算
double powerwithunsignedexponent(double
base,int ab***ponent)
面試題16 數值的整數次方
實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。分析 由於不需要考慮大數問題,這道題看起來很簡單。但是需要特別注意的是 如果輸入的指數小於1 0和負數 的時候怎麼辦?當底數是0且指數是負數的...
面試題16 數值的整數次方
一 題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。二 關鍵 1.考慮齊全。指數是負數。底數為零且指數是負數的時候。底數是0.2.速度提高。三 解釋 1.求整數次方時,考慮如下的數學公...
面試題16 數值的整數次方
面試題16 數值的整數次方 題目 實現函式double power double base,int exponent 求base的exponent 次方。不得使用庫函式,同時不需要考慮大數問題。思路 考慮到base 0,exponent 0時,無意義。exponent 0時,結果取倒數。還有比較兩個...