public class isPowerOfThree {
public static void main(String[] args) {
boolean ans = isPowerOfThree(81);
System.out.println(ans);
}
public static boolean isPowerOfThree(int n) {
int tmp = 1;
for (int i = 0; i <= n / 3; i++) {// 3 ^(n / 3) >= n,减少比较次数
if (tmp == n) {
return true;
} else if (tmp > n) {
return false;
} else {
tmp *= 3;
}
}
return false;
}
//思路2:迭代法
public boolean isPowerOfThree02(int n) {
if (n < 1) {
return false;
}
while (n % 3 == 0) {
n /= 3;
if (n == 0) {
break;
}
}
return n == 1;
}
}
3的幂的思路及JAVA代码
最新推荐文章于 2024-07-22 16:27:42 发布