1.问题描述:
写一个程序来检测一个整数是不是丑数
。
丑数的定义是,只包含质因子 2, 3, 5
的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。
2.样例:
给出 num = 8
,返回 true
。
给出 num = 14
,返回 false
。
3.代码:
class Solution:
"""
@param num: An integer
@return: true if num is an ugly number or false
"""
def isUgly(self, num):
# write your code here
if num<1:
return False
else:
while (num%2==0):
num=num/2
while (num%3==0):
num=num/3
while (num%5==0):
num=num/5
if num==1:
return True
else:
return False
对于非正整数返回False; 依次使用2,3,5去做除法,把一个数的2,3,5的因子全部除掉,最后会剩等于1,则是丑数。