给出一个整数,写一个函数来确定这个数是不是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;
}
}
本文介绍了一个用于判断给定整数是否为3的幂的算法,并提供了一个具体的实现示例。该方法首先检查输入值是否大于零,然后通过计算最大可能的3的幂次来验证该整数是否符合要求。
901

被折叠的 条评论
为什么被折叠?



