leetcode263-丑数

原题

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数 2, 3, 5正整数

示例1:

输入: 6
输出: true
解释: 6 = 2 × 3

示例2:

输入: 8
输出: true
解释: 8 = 2 × 2 × 2

示例3:

输入: 14
输出: false
解释: 14 不是丑数,因为它包含了另外一个质因数 7。
说明:

  1. 1 是丑数。
  2. 输入不会超过 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/

发表回复

登录后才能评论