1、题目描述:
2、题解:
方法:数学
依次循环判断如果是2,3,5的倍数,就除以2,3,5,最后判断如果num == 1就返回真,否则,返回假。
Python代码如下:
class Solution:
def isUgly(self, num: int) -> bool:
#数学
if num <= 0:
return False
while num % 2 == 0:
num //= 2
while num % 3 == 0:
num //= 3
while num % 5 == 0:
num //= 5
if num == 1:
return True
return False
C++代码如下:
class Solution {
public:
bool isUgly(int num) {
// 数学
if (num <= 0) return false;
while (num % 2 == 0) num /= 2;
while (num % 3 == 0) num /= 3;
while (num % 5 == 0) num /= 5;
if (num == 1) return true;
return false;
}
};
3、复杂度分析:
暂不做分析