263. Ugly Number

题目分析

题目链接,登录 LeetCode 后可用
题目思路很简单,首先丑数必须是正数,然后定义了 1 为丑数,最后丑数的素数因子只能包含 2,3,5,我们用给我们的要判断是不是丑数的数不停的除 2,3,5。如果最后能得到结果 1,那么这个数就是丑数。

代码

class Solution {
    public boolean isUgly(int num) {
        // 丑数是正数
        if(num == 0) {
            return false;
        }
        // 1 被认为是丑数
        if(num == 1) {
            return true;
        }
        
        while(num >= 2 && num % 2 == 0) {
            num = num / 2;
        }
        while(num >= 3 && num % 3 == 0) {
            num = num / 3;
        }
        while(num >= 5 && num % 5 == 0) {
            num = num / 5;
        }
        return num == 1;
    }
}

你可能感兴趣的:(263. Ugly Number)