- 输入:n = 16
- 输出:true
-
- 输入:n = 5
- 输出:false
-
- 输入:n = 1
- 输出:true
- # 递归
- # 设定好边界条件,然后依次递归到最小值,判断即可。
- class Solution:
- def isPowerOfFour(self, n: int) -> bool:
- if n <= 0:
- return False
- while n != 1:
- if n % 4 != 0:
- return False
- n /= 4
- return n == 1
- # 递归(优化版)
- # 若被 4 整除,更新原整数,依次循环到 1 判断即可。
- class Solution:
- def isPowerOfFour(self, n: int) -> bool:
- while n > 0 and n % 4 == 0:
- n //= 4
- return n == 1
- # 暴力循环
- # math.pow()方法计算幂值,依次循环判断即可。
- class Solution:
- def isPowerOfFour(self, n: int) -> bool:
- for i in range(31):
- if math.pow(4, i) == n:
- return True
- return False
- # 暴力循环
- # 设定一个初始整数,乘以 4 的倍数,然后循环判断即可。
- class Solution:
- def isPowerOfFour(self, n: int) -> bool:
- ans = 1
- while ans < n:
- ans *= 4
- return ans == n