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

        
相关推荐
火车叼位5 分钟前
也许你不需要创建.venv, 此规范使python脚本自备依赖
python
YuTaoShao6 分钟前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
火车叼位12 分钟前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
VT.馒头12 分钟前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
goodluckyaa22 分钟前
LCR 006. 两数之和 II - 输入有序数组
算法
孤狼warrior23 分钟前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
Katecat9966332 分钟前
YOLO11分割算法实现甲状腺超声病灶自动检测与定位_DWR方法应用
python
Σίσυφος19001 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
xhbaitxl1 小时前
算法学习day39-动态规划
学习·算法·动态规划
I_LPL1 小时前
day23 代码随想录算法训练营 回溯专题2
算法·hot100·回溯算法·求职面试