编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5
的正整数。注:1是丑数。
示例 1:
输入: 6 输出: true 解释: 6 = 2 × 3
示例 2:
输入: 8 输出: true 解释: 8 = 2 × 2 × 2
''' 思路:丑数只能包含因子 2 3 5,所以分别对 2 3 5进行整除,并且如果能够整除,就除以2 3 5, 看最后得到的数是否是1,如果是1,则只包含因子 2 3 5 直到除以2 3 5 都不等于0,那么这个数一定不是丑数了 ''' class Solution(object): def isUgly(self, num): if num ==0: return False while True: if num % 3==0: num = num/3 if num % 5==0: num = num/5 if num % 2==0: num = num/2 if num == 1 : return True if num %3!=0 and num %5!=0 and num %2 !=0: return False if __name__ == '__main__': s = Solution() print(s.isUgly(10)) #True