一.解法
https://leetcode-cn.com/problems/ugly-number/
要点:数学
丑数除去所有的2,所有的3,所有的5必为一
用三个while循环即可完成
二.Python实现
class Solution:
def isUgly(self, num: int) -> bool:
if num<=0:
return False
while num%2==0:
num=num/2
while num%3==0:
num=num/3
while num%5==0:
num=num/5
return num==1
三.C++实现
class Solution {
public:
bool isUgly(int num) {
if(num<=0) return false;
while(num%2==0){
num=num/2;
}
while(num%3==0){
num=num/3;
}
while(num%5==0){
num=num/5;
}
return num==1;
}
};
四.java实现
class Solution {
public boolean isUgly(int num) {
if (num <= 0) {
return false;
}
int[] factor = new int[]{2,3,5};
for (int i : factor) {
while (num%i == 0) {
num = num/i;
}
}
if (num == 1) {
return true;
}
return false;
}
}