标签:etc div 输入 就是 obj round 说明 超过 nbsp
问题描述:
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5
的正整数。
示例 1:
输入: 6 输出: true 解释: 6 = 2 × 3
示例 2:
输入: 8 输出: true 解释: 8 = 2 × 2 × 2
示例 3:
输入: 14 输出: false 解释:14
不是丑数,因为它包含了另外一个质因数7
。
说明:
1
是丑数。思路:用num对三个质数做除法运算,到最后能整除即为丑数。
方法1:
1 class Solution(object): 2 def isUgly(self, num): 3 """ 4 :type num: int 5 :rtype: bool 6 """ 7 prime = [2,3,5] 8 if num == 0 : 9 return False 10 temp = num 11 flag = True 12 while num!= 1:#num对三个质数进行求余数运算 13 for i in prime: 14 if num % i == 0: 15 num /= i 16 flag = True 17 if not flag:#三个质数都不能被整除 18 break 19 flag = False 20 if num == 1: 21 return True 22 return False
简洁版:
1 class Solution(object): 2 def isUgly(self, num): 3 """ 4 :type num: int 5 :rtype: bool 6 """ 7 if num <= 0: 8 return False 9 for i in [2,3,5]: 10 while num % i == 0: 11 num //= i 12 return True if num == 1 else False
2018-09-22 18:15:12
标签:etc div 输入 就是 obj round 说明 超过 nbsp
原文地址:https://www.cnblogs.com/NPC-assange/p/9690775.html