leetcode:263. 丑数(python3解法,数学相关算法题)

难度:简单

丑数 就是只包含质因数 235整数。

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

示例 1:

复制代码
输入:n = 6
输出:true
解释:6 = 2 × 3

示例 2:

复制代码
输入:n = 1
输出:true
解释:1 没有质因数。

示例 3:

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

提示:

  • -231 <= n <= 231 - 1

题解:

python 复制代码
class Solution:
    def isUgly(self, n: int) -> bool:
        # 1️⃣ 首先检查:丑数必须是正整数
        if n <= 0:
            return False
    
        # 2️⃣ 先把所有 "2" 因子剥干净(就像剥洋葱)
        while n % 2 == 0:  # 只要能被2整除...
            n //= 2        # 就除一次2(剥掉一层)
        # 例如:n=8 → 8→4→2→1 (最后n=1)

        # 3️⃣ 再把所有 "3" 因子剥干净
        while n % 3 == 0:  # 只要能被3整除...
            n //= 3        # 就除一次3
        # 例如:n=9 → 9→3→1 (最后n=1)

        # 4️⃣ 最后把所有 "5" 因子剥干净
        while n % 5 == 0:  # 只要能被5整除...
            n //= 5        # 就除一次5
            # 例如:n=25 → 25→5→1 (最后n=1)

        # 5️⃣ 检查结果:如果剥到只剩1就是丑数
        return n == 1  # ✅ 如果n=1返回True,否则返回False

        
相关推荐
DIY机器人工房5 分钟前
一个可以检测本机的字节顺序,并对任意数据进行字节顺序的反转操作的代码。
嵌入式硬件·算法·嵌入式·diy机器人工房
Python×CATIA工业智造1 小时前
Pycaita二次开发基础代码解析:几何体重命名与参数提取技术
python·pycharm·pycatia
杰克尼2 小时前
11. 盛最多水的容器
算法·leetcode·职场和发展
你的电影很有趣2 小时前
lesson30:Python迭代三剑客:可迭代对象、迭代器与生成器深度解析
开发语言·python
程序员Xu3 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
成成成成成成果4 小时前
揭秘动态测试:软件质量的实战防线
python·功能测试·测试工具·测试用例·可用性测试
技术思考者4 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
天天进步20154 小时前
Python游戏开发引擎设计与实现
开发语言·python·pygame
数据狐(DataFox)5 小时前
CTE公用表表达式的可读性与性能优化
经验分享·python·sql
蹦蹦跳跳真可爱5895 小时前
Python----MCP(MCP 简介、uv工具、创建MCP流程、MCP客户端接入Qwen、MCP客户端接入vLLM)
开发语言·人工智能·python·语言模型