LintCode Python 简单级题目 517.丑数
题目描述:
写一个程序来检测一个整数是不是丑数
。
丑数的定义是,只包含质因子 2, 3, 5
的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。
注意事项
可以认为 1
是一个特殊的丑数。
样例
给出 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