题目大意:
判断一个数是不是丑数。丑数的定义是,其素数因子中只能包含2,3,5,不能有更大的素数。同时,1是丑数。
思路:
用2,3,5不断的整除给定的数后,若剩下的数是1,则该数为丑数。反之,则不为丑数。
若剩下的不为1,说明剩下的因子是比2,3,5大的素数或者乘积。
code:
bool isUgly(int num) {
if (num == 1) return true;
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;
}