leetcode python丑数

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数 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

猜你喜欢

转载自www.cnblogs.com/hooo-1102/p/10830105.html