0326. Power of Three

0326. Power of Three #

题目 #

  • 给定整数 n,判断它是否为 3 的幂次方。
  • -2^31 <= n <= 2^31 - 1

思路 #

素因数分解 + 考虑输入范围 #

  • 1162261467 是输入范围 -2^31 <= n <= 2^31 - 1 内最大的 3 的幂次方。
  • 只需判断 n 能否整除 1162261467 即可得知它是否为 3 的幂次方。
  • 1162261467 该值可以通过循环来确定。

代码 #

素因数分解 + 考虑输入范围 #

class Solution {
    public boolean isPowerOfThree(int n) {
        if (n <= 0) return false;
        return 1162261467 % n == 0;
    }
}

致谢 #

宫水三叶