Leetcode 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.
最直接的办法就是不停的除以这些质数,如果剩余的数字是1的话就是Ugly number了
Java code:
1 public boolean isUgly(int num) { 2 if(num <=0) { return false; } 3 while(num %2 == 0) { 4 num /= 2; 5 } 6 while(num %3 == 0) { 7 num /= 3; 8 } 9 while(num %5 == 0) { 10 num /= 5; 11 } 12 return num == 1; 13 }
Reference:
http://www.cnblogs.com/grandyang/p/4741934.html