题目:
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5.
Example 1:Input: 6 Output: true Explanation: 6 = 2 × 3
Example 2:
Input: 8 Output: true Explanation: 8 = 2 × 2 × 2
Example 3:
Input: 14 Output: false Explanation: 14 is not ugly since it includes another prime factor 7.
Note:
1
is typically treated as an ugly number. Input is within the 32-bit signed integer range:[−231, 231 − 1]
.
解释:
判断一个数是不是丑数,丑数的定义是只能被2,3,5
整除的正整数,1是丑数。
对这个数进行判断没如果能被2,3,5整除,就除以这些数字,如果不能被这些数中的任意一个整除,就返回false。
python代码:
class Solution(object):
def isUgly(self, num):
"""
:type num: int
:rtype: bool
"""
if num<=0:
return False
while num>1:
if num%2==0:
num/=2
elif num%3==0:
num/=3
elif num%5==0:
num/=5
else:
return False
return True
c++代码:
class Solution {
public:
bool isUgly(int num) {
if(num<=0)
return false;
while(num>1)
{
if (num%2==0)
num/=2;
else if(num%3==0)
num/=3;
else if(num%5==0)
num/=5;
else
return false;
}
return true;
}
};
总结:
没啥好说的。