https://leetcode-cn.com/problems/power-of-three/

试除法

  1. public boolean isPowerOfThree(int n) {
  2. while(){
  3. }
  4. }

判断是否为最大 3 的幂的约数

  1. // 如果一个数字是3的某次幂,那么这个数一定只含有3这个质数因子
  2. // 1162261467是int型范围内,最大的3的幂,它是3的19次方
  3. // 这个1162261467只含有3这个质数因子,如果n也是只含有3这个质数因子,那么
  4. // 1162261467 % n == 0
  5. // 反之如果1162261467 % n != 0 说明n一定含有其他因子
  6. public static boolean isPowerOfThree(int n) {
  7. return (n > 0 && 1162261467 % n == 0);
  8. }