Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
一、题目描述:
给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
示例 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 通常被视为丑数。
提示:
- -2^31 <= n <= 2^31 - 1
二、思路分析:
丑数就是只包含质因数 2, 3, 5 的正整数。
故判断一个数是不是丑数,只需将2、3、5整除并更新它即可,直到不能被某一个2、3、5整除;
最后的结果如果是1则是丑数
三、AC 代码:
class Solution(object):
def isUgly(self, n):
"""
:type n: int
:rtype: bool
"""
if n<=0:return False
for k in [2,3,5]:
while n%k==0:
n=n/k
return n==1
四、总结:
这是一道简单的丑数题目,当然我们还可以使用递归和迭代法解决,后面还有类似的题目,到时候再一起总结。
五、参考:
263. 丑数(数学、递归、迭代) - 丑数 - 力扣(LeetCode) (leetcode-cn.com)
【题以类解】一文带你刷三道丑数题目,简单易懂,双百效果好~ - 丑数 - 力扣(LeetCode) (leetcode-cn.com)