LeetCode--263--丑数
Posted Assange
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode--263--丑数相关的知识,希望对你有一定的参考价值。
问题描述:
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 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对三个质数做除法运算,到最后能整除即为丑数。
方法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
以上是关于LeetCode--263--丑数的主要内容,如果未能解决你的问题,请参考以下文章