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
. For example, 6, 8
are ugly while 14
is not ugly since it includes another prime factor 7
.
Note that 1
is typically treated as an ugly number.
丑数是一个正数且因子只包含2,3,5的数
class Solution {
public:
bool isUgly(int num) {
while(1)
{
if(num == 1) return true;
if(num <= 0) return false;
//用%表示是否能整除,能整除且除了之后等于1则是uglynum
if(num % 2 == 0)
{
num = num / 2;
if(num == 1) return true;
}
else if(num % 3 == 0)
{
num = num / 3;
if(num == 1) return true;
}
else if(num % 5 == 0)
{
num = num / 5;
if(num == 1) return true;
}
else
{
return false;
}
}
}
};
void main()
{
Solution *s = new Solution();
bool result = s->isUgly(22);
cout<<result;
}