给出一个整数,写一个函数来确定这个数是不是3的一个幂。
后续挑战:
你能不使用循环或者递归完成本题吗?
3的幂的特点:如果一个整数N是3的幂,那么其所有约数都是3的幂。那么,换一个角度,如果n小于N且是N的约数,那么其一定是3的幂;
class Solution {
public boolean isPowerOfThree(int n) {
if (n <= 0) return false;
int max = (int) Math.pow(3, (int) (Math.log(0x7fffffff) / Math.log(3)));
return max % n == 0;
}
}