263. Ugly Number
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之外的其他数。
特别的,1是一个丑数。
解题思路:既然是求解质因数,所以肯定要把数给分解了,可以把数分解后,分解之后所剩的数,如果不为2,3,5
那么,这样就可以进行判断了。
</pre><p><pre name="code" class="java">public class Solution {
public boolean isUgly(int num) {
if(num<=0) return false;
if(num==1) return true;
int[] Array = {2,3,5};
if(num%2!=0&&num%3!=0&&num%5!=0) return false;
while(num!=1){
for(int i = 0; i< Array.length;i++){
if(num%2!=0&&num%3!=0&&num%5!=0) return false;
if(num%Array[i]==0){
num=num/Array[i];
if(num==1) return true;
}
}
}
System.out.println(" num = "+num);
for(int j =0; j<Array.length;j++){
if(num-Array[j]==0){
System.out.println(" num = "+num);
return true;
}
}
return false;
}
}