题目描述
这道题也是考数学知识,根据题目意思知:一个数字不断除以2、3、5即可,最后判断是否是1
代码:
if(num == 1)
return true;
if(num <= 0){
return false;
}
else {
while(num%2 == 0)
{
num >>= 1;
}
while(num%3 == 0)
{
num /= 3;
}
while(num%5 == 0)
{
num /= 5;
}
return num == 1;
}
排名比较高的代码
class Solution {
public boolean isUgly(int num) {
if(num < 1) return false;
while(num%2 == 0)
{
num >>= 1;
}
while(num%3 == 0)
{
num /= 3;
}
while(num%5 == 0)
{
num /= 5;
}
return (num == 1 || num == 2 || num == 3 || num == 5);
}
}
感觉最后判断是1应该也是可以的