编写程序判断给定的数是否为丑数。
丑数就是只包含质因子 2, 3, 5 的正整数。例如, 6, 8 是丑数,而 14 不是,因为它包含了另外一个质因子 7。
注意:
1 也可以被当做丑数。
输入不会超过32位整数的范围。
详见:https://leetcode.com/problems/ugly-number/description/
Java实现:
class Solution {
public boolean isUgly(int num) {
if(num<=0){
return false;
}
if(num==1){
return true;
}
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;
}
}
C++实现:
class Solution {
public:
bool isUgly(int num) {
if(num<=0)
{
return false;
}
if(num==1)
{
return true;
}
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;
}
};