编写程序判断给定的数是否为丑数。
丑数就是只包含质因子 2, 3, 5 的正整数。例如, 6, 8 是丑数,而 14 不是,因为它包含了另外一个质因子 7。
注意:
1 也可以被当做丑数。
输入不会超过32位整数的范围。
详见:https://leetcode.com/problems/ugly-number/description/
Java实现:
class Solution { public boolean isUgly(int num) { if(num<=0){ return false; } if(num==1){ return true; } while(num>1){ if(num%2==0){ num/=2; }else if(num%3==0){ num/=3; }else if(num%5==0){ num/=5; }else{ return false; } } return true; } }
C++实现:
class Solution { public: bool isUgly(int num) { if(num<=0) { return false; } if(num==1) { return true; } while(num>1) { if(num%2==0) { num/=2; } else if(num%3==0) { num/=3; }else if(num%5==0) { num/=5; } else { return false; } } return true; } };