Q:
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5
的正整数。
示例 1:
输入: 6 输出: true 解释: 6 = 2 × 3
示例 2:
输入: 8 输出: true 解释: 8 = 2 × 2 × 2
链接:https://leetcode-cn.com/problems/ugly-number/
思路:可以依据数字的因数分解来求取,一直分解2,3,5的因数,直到不能分解,最后结果为1则说明该数为只包含2,3,5因子的丑数
代码:
class Solution:
def isUgly(self, num):
"""
:type num: int
:rtype: bool
"""
if num<=0:
return False
while(num%2==0):
num/=2;
while(num%3==0):
num/=3;
while(num%5==0):
num/=5;
return num==1