所谓丑数,就是其素因子只包含 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);}