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);
};
注释掉的部分是一个取巧的办法,由于是整形,最大的3的次方是1162261467,我们要找的所有数都能被这个整除。