面試題11:數值的整數次方

劍指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;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章