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.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
看题目,丑数是正整数,且所有的因子只能是2,3,5。
判断的方法就是不断地用2,3,5去除,如果最后剩下的1,那么说明它的所有的因子只有2,3,5的组合。
如果不是剩下1,就说明还有其它的因子。
运行时间:
代码:
public class UglyNumber {
public boolean isUgly(int num) {
if (num <= 0) {
return false;
}
while (num % 2 == 0) {
num = num / 2;
}
while (num % 3 == 0) {
num = num / 3;
}
while (num % 5 == 0) {
num = num / 5;
}
return num == 1;
}
}