leedcode-丑数

丑数 就是只包含质因数 2、3 和 5 的正整数。
换句话说 丑数=2*……*2*3*……*3*5*……*5

class Solution:
    def isUgly(self, n: int) -> bool:
        # 如果 n 小于等于 0,则不是丑数,返回 False
        if n <= 0:
            return False
        
        # 如果 n 是丑数,经过下面的循环处理后,最终 n 会变为 1
        # 如果 n 不是丑数,即不能被 2、3、5 整除,最终 n 会变为除去所有 2、3、5 因子后的数
        while n % 2 == 0:  # 如果 n 能被 2 整除,持续除以 2
            n = n // 2
        while n % 3 == 0:  # 如果 n 能被 3 整除,持续除以 3
            n = n // 3
        while n % 5 == 0:  # 如果 n 能被 5 整除,持续除以 5
            n = n // 5
        
        # 如果 n 最终变为 1,则表示原始输入是丑数,否则不是丑数
        return n == 1

 

posted @ 2024-03-25 14:17  Junior_bond  阅读(14)  评论(0)    收藏  举报