质因数
丑数的定义$n = 2^a * 3^b * 5^c$
从定义出发即可,把质因子为2,3,5除净后,判断n是否为1即可。
时间复杂度$O(logN)$
AC代码
class Solution {
public:
bool isUgly(int n) {
if (n <= 0) return false;
while (n % 2 == 0) n /= 2;
while (n % 5 == 0) n /= 5;
while (n % 3 == 0) n /= 3;
return n == 1;
}
};