题目:编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5 的正整数。
示例 1:
输入: 6
输出: true
解释: 6 = 2 × 3
示例 2:
输入: 8
输出: true
解释: 8 = 2 × 2 × 2
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ugly-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:判断是否只包含质因数2,3,5;若因数中只包含这3个,那么不断除以这3个因数后即等于1,返回True;若还有其它因数,则不会为1,返回False。
class Solution:
def isUgly(self, n: int) -> bool:
if n<=0:
return False
while n%2==0 or n%3==0 or n%5==0:
if n%2==0:
n=int(n/2)
elif n%3==0:
n=int(n/3)
elif n%5==0:
n=int(n/5)
if n==1:
return True
else:
return False