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
Solution1
is typically treated as an ugly number.We continuously divide the number we need to check by 2, 3, and 5, until that number is not divisible by 2, 3 or 5. If the final result is not equal to 1, the original number is not a ugly number. Otherwise, it is. This is a warm-up exercise for this problem.
public class Solution { public boolean isUgly(int num) { if(num == 0) return false; while(num % 2 == 0) num /=2; while(num % 3 == 0) num /= 3; while(num % 5 == 0) num /= 5; return num == 1; } }
No comments:
Post a Comment