一.解法
https://leetcode-cn.com/problems/ugly-number/
要點:數(shù)學(xué)
丑數(shù)除去所有的2,所有的3,所有的5必為一
用三個while循環(huán)即可完成
二.Python實現(xiàn)
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++實現(xiàn)
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實現(xiàn)
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;
}
}