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.
这道题还是看了提示,迭代地进行查找。对于num取值为0 1 2 的情况需要特殊处理。然后用一个循环,不断的缩小数字。这里还需要进一步补充。
public boolean isUgly(int num) {
if(num <= 0 ) return false;
if(num == 1) return true;
while(num >=2){
if(num %2 == 0){
num = num / 2;
}else if(num % 3 == 0){
num = num /3;
}else if(num % 5 == 0){
num = num / 5;
}else return false;
}
return num == 1?true:false;
}