原题
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5
的正整数。
示例1:
输入: 6
输出: true
解释: 6 = 2 × 3
示例2:
输入: 8
输出: true
解释: 8 = 2 × 2 × 2
示例3:
输入: 14
输出: false
解释: 14 不是丑数,因为它包含了另外一个质因数 7。
说明:
1
是丑数。- 输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。
解法
思想
在该数没被除为1之前重复除以2、3或5。
代码
class Solution {
public boolean isUgly(int num) {
if(num<1) return false;
while(num!=1){
if(num%2==0){
num /= 2;
continue;
}
if(num%3==0){
num /= 3;
continue;
}
if(num%5==0){
num /= 5;
continue;
}
return false;
}
return true;
}
}
原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/leetcode263-%e4%b8%91%e6%95%b0/