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;
};