LeetCode 263. 丑数
263. 丑数
Difficulty: 简单
给你一个整数 n
,请你判断 n
是否为 丑数 。如果是,返回 true
;否则,返回 false
。
丑数 就是只包含质因数 2
、3
和/或 5
的正整数。
示例 1:
输入:n = 6
输出:true
解释:6 = 2 × 3
示例 2:
输入:n = 8
输出:true
解释:8 = 2 × 2 × 2
示例 3:
输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 。
示例 4:
输入:n = 1
输出:true
解释:1 通常被视为丑数。
提示:
-2<sup>31</sup> <= n <= 2<sup>31</sup> - 1
Solution
丑数只能被2/3/5整除,如果一个数能被2整除,那就连续除以2,如果一个数能被3整除,那就连续除以3,如果一个数能被5整除,那就连续除以5,如果最后连续整除的结果是1,那么这个数就是丑数,否则不是。
class Solution:
def isUgly(self, n: int) -> bool:
if n <= 0:
return False
while n % 2 == 0:
n /= 2
while n % 3 == 0:
n /= 3
while n % 5 == 0:
n /= 5
return True if n == 1 else False