丑数
题目描述
给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
思路
丑数只包含质因数2 3 5,即可以写成2x * 3 y * 5 z的形式,x y z都大于等于0,只需要把其中的 2 3 5除尽看看是否等于1就可以了。
代码
public boolean isUgly(int n) {
if(n <= 0) return false;
while(n % 5 == 0) n = n / 5;
while(n % 3 == 0) n = n / 3;
while(n % 2 == 0) n = n / 2;
return n==1;
}