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è)整除。