所谓丑数,就是其素因子只包含 2,3,5 的非负数。另外, 1 也是丑数。
恶心的是,当时题目说的是 positive number,这尼玛能包括 0?还就包括了。
看明白定义就简单了,那就对着 2 3 5 玩命除呗,看看除完了还剩什么。
bool 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);
}