题目描述:
写一个程序来检测一个整数是不是丑数。
丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。
注意事项
可以认为 1 是一个特殊的丑数。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 num = 8,返回 true。
给出 num = 14,返回 false。
题目分析:
循环取2/3/5的余数和商即可。
余=0,商=1时才为丑数。
源码:
class Solution:
# @param {int} num an integer
# @return {boolean} true if num is an ugly number or false
def isUgly(self, num):
# Write your code here
if num == 1: return True
if num == 0: return False
t = [2,3,5]
i = 0
while True:
if i == 3:
return False
res = num%t[i]
cor = num/t[i]
if cor == 1 and res == 0:
return True
elif res == 0:
num = num/t[i]
continue
else:
i += 1
原文:http://www.cnblogs.com/bozhou/p/6956365.html