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

        
相关推荐
小玮看世界7 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
Java陈序员7 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
2601_962097368 小时前
1. 使用 C 或 C++ 扩展 Python
python·api·c·引用计数·扩展模块
尾善爱看海8 小时前
前端算法与手写题集
前端·算法
Yanjun2i8 小时前
Agent学习记录五:Pydantic验证
人工智能·python·学习
程序员阿鹏8 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
AI 思录8 小时前
Prompt 事故档案(八):日常表达被标为“待校准”,AI 的爹味语法从哪里来
大数据·人工智能·算法·prompt·用户体验·ai合规
月光船幽幽9 小时前
跨范式映射的稳定接口设计
人工智能·python·算法
杜大哥9 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk5559 小时前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python