劍指Offer面試題11:數值的整數次方(js實現)
題目描述:實現函數Power(base, exponent),求base的exponent次方。不得使用庫函數,同時不需要考慮大數的問題
function Power(base, exponent) {
//如果底數爲0並且指數小於0報錯
if(equal(base, 0.0) && exponent < 0) {
return false;
}
var absExponent = Math.abs(exponent);
var result = PowerWithUnsignExponent(base, absExponent);
//如果指數小於0取倒數
if(exponent < 0) {
result = 1.0/result;
}
return result;
}
//判斷兩個小數是否相等
function equal(num1, num2) {
if((num1 - num2 > -0.00000001) && (num1 - num2 < 0.00000001)) {
return true;
}else {
return false;
}
}
//計算
function PowerWithUnsignExponent(base, exponent) {
var result = 1.0;
for(var i = 0; i < exponent; i++) {
result *= base;
}
return result;
}