326. Power of Three

Given an integer, write a function to determine if it is a power of three.
判斷是不是3的次方,用遞歸一直除3。

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfThree = function(n) {
    if (n%1!==0) {
        return false;
    }
    if (n===1)
        return true;
    else if (n<3||n===0) {
        return false;
    } else {
        return isPowerOfThree(n/3);
    }
    //return (n > 0 && 1162261467 % n === 0);
};

注釋掉的部分是一個(gè)取巧的辦法,由于是整形,最大的3的次方是1162261467,我們要找的所有數(shù)都能被這個(gè)整除。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容