263. 丑数

题目

题目

分析

所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n % m == 0。根据丑数的定义,丑数只能被2、3和5整除。也就是说如果一个数如果它能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;如果能被5整除,就除以连续5。如果最后我们得到的是1,那么这个数就是丑数,否则不是。

代码

public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        System.out.println(main.isUgly(8));
    }

    public boolean isUgly(int num) {
        
        if (num == 1) return true;
        if (num == 0) return false;

        while (num % 2 == 0) {
            num = num / 2;
        }

        while (num % 3 == 0) {
            num = num / 3;
        }

        while (num % 5 == 0) {
            num = num / 5;
        }

        if (num == 1)
            return true;
        else
            return false;
    }
}

你可能感兴趣的:(263. 丑数)