们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。输入一个数n,判断它是否是丑数
时间: 2023-10-23 14:21:06 浏览: 94
判断是否为丑数
可以使用循环一步一步地判断一个数是否是丑数。具体做法是,如果一个数除以2、3、5中的任意一个数能够整除,那么就一直除以这个数,直到除不尽为止。最后,如果剩余的数等于1,那么这个数就是丑数,否则不是丑数。
以下是一个Python的实现代码:
```python
def is_ugly(num):
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
```
这个函数的时间复杂度是O(logn),因为每次都将num除以2、3、5中的一个,最终会除到1。
阅读全文