Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 1.68 KB

File metadata and controls

71 lines (50 loc) · 1.68 KB

263.丑数

https://leetcode-cn.com/problems/ugly-number/

难度:简单

题目:

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。

丑数 就是只包含质因数2、3 和/或5的正整数。

提示:

-231 <= n <= 231 - 1

示例:

示例 1:

输入:n = 6 输出:true 解释:6 = 2 × 3 示例 2:

输入:n = 8 输出:true 解释:8 = 2 × 2 × 2 示例 3:

输入:n = 14 输出:false 解释:14 不是丑数,因为它包含了另外一个质因数7 。 示例 4:

输入:n = 1 输出:true 解释:1 通常被视为丑数。

分析

一道最基础的循环题解,只要n能被2,3,5整数就一直循环相除。

这里可以做一个提前退出,就是当商1余0,代表完成了最后一次相除。

就可以不用考虑后面的情况直接退出了。

解题:

class Solution:
    def isUgly(self, n):
        if n == 0:
            return False
        if n == 1:
            return True
        for i in [2, 3, 5]:
            while n % i == 0:
                count, val = divmod(n, i)
                if count == 1 and val == 0:
                    return True
                n //= i
        return False

欢迎关注我的公众号: 清风Python,带你每日学习Python算法刷题的同时,了解更多python小知识。

有喜欢力扣刷题的小伙伴可以加我微信(King_Uranus)互相鼓励,共同进步,一起玩转超级码力!

我的个人博客:https://qingfengpython.cn

力扣解题合集:https://github.com/BreezePython/AlgorithmMarkdown