LeetCode刷題記錄——第263題(醜數)
阿新 • • 發佈:2019-01-13
題目描述
編寫一個程式判斷給定的數是否為醜數。
醜數就是隻包含質因數 2, 3, 5 的正整數。
示例 1:
輸入: 6
輸出: true
解釋: 6 = 2 × 3
示例 2:
輸入: 8
輸出: true
解釋: 8 = 2 × 2 × 2
示例 3:
輸入: 14
輸出: false
解釋: 14 不是醜數,因為它包含了另外一個質因數 7。
說明:
1 是醜數。
輸入不會超過 32 位有符號整數的範圍: [−231, 231 − 1]。
思路分析
- 當num小於0的時候,不是正整數,不是醜數
- 迴圈迭代,當num和only中的餘數為0時,除去only中的元素。當最後num的值不為1時,不是醜數。
程式碼示例
class Solution(object):
def isUgly(self, num):
"""
:type num: int
:rtype: bool
"""
if num <= 0:
return False
only = [2,3,5]
for i in only:
while num % i == 0:
num /= i
if num != 1:
return False
else:
return True