题目:263. 丑数
链接:https://leetcode-cn.com/problems/ugly-number
问题:
编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例 1: 输入: 6 输出: true 解释: 6 = 2 × 3 示例 2: 输入: 8 输出: true 解释: 8 = 2 × 2 × 2 示例 3: 输入: 14 输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7。 说明: 1.1 是丑数。 2.输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。
解题:
1、只要num能被2、3、5整除,则一直整除下去,最后判断num是否为1。
需要注意的是,要判断0这个特殊条件。
代码:
代码语言:javascript复制
class Solution(object):
def isUgly(self, num):
"""
:type num: int
:rtype: bool
"""
if num == 0:
return False
while num % 5 == 0:
num /= 5
while num % 3 == 0:
num /= 3
while num % 2 == 0:
num /= 2
return num == 1
PS:刷了打卡群的题,再刷另一道题,并且总结,确实耗费很多时间。如果时间不够,以后的更新会总结打卡群的题。
PPS:还是得日更呀,总结一下总是好的。