problem

​263. Ugly Number​

丑数

所谓丑数就是其质数因子只能是2,3,5。那么最直接的办法就是不停的除以这些质数,如果剩余的数字是1的话就是丑数了。

solution1

class Solution {
public:
bool isUgly(int num) {
if(num<=0) return false;//err.
while(num%2==0) num /= 2;
while(num%3==0) num /= 3;
while(num%5==0) num /= 5;
return num==1;//

}
};

solution2

class Solution {
public:
bool isUgly(int num) {
//if(num<=0) return false;
while(num>=2)
{
if(num%2==0) num /= 2;
else if(num%3==0) num /= 3;
else if(num%5==0) num /= 5;
else return false;//err.
}
return num==1;

}
};

 

参考

1. ​​Leetcode_263_Ugly Number​​;