LeetCode 326. Power of Three

題目

Given an integer, write a function to determine if it is a power of three.

Follow up: Could you do it without using any loop / recursion?

翻譯

判斷一個整數是否是3的次方數。

進階: 不使用迴圈,遞迴解題?

思路

不管進階的話跟LeetCode 231. Power of Two解法是一模一樣的。 因此只要不斷的把這個數除3,如果發現餘數不是0,就可以判斷這個數不是3的次方數

解題

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfThree = function(n) {
    while(n>2){
        if(n%3 !== 0) return false;
        n = parseInt(n/3);
    }

    return n==1;
};

results matching ""

    No results matching ""