难度:简单
丑数 就是只包含质因数
2
、3
和5
的 正整数。给你一个整数
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
题解:
pythonclass 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
leetcode:263. 丑数(python3解法,数学相关算法题)
心软且酷丶2025-06-20 0:04
相关推荐
Nie_Xun17 小时前
ROS1 go2 vlp16 局部避障--3 篇Da Da 泓20 小时前
LinkedList模拟实现海琴烟Sunshine20 小时前
Leetcode 14. 最长公共前缀未知陨落20 小时前
LeetCode:68.寻找两个正序数组的中位数zl21878654481 天前
Playwright同步、异步、并行、串行执行效率比较larance1 天前
asyncio数据流努力学习的小廉1 天前
我爱学算法之—— 模拟(下)eqwaak01 天前
Flask实战指南:从基础到高阶的完整开发流程海琴烟Sunshine1 天前
Leetcode 26. 删除有序数组中的重复项PAK向日葵1 天前
【算法导论】NMWQ 0913笔试题