LintCode - 丑数(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

写一个程序来检测一个整数是不是丑数。
丑数的定义是,只包含质因子 2, 3, 5
的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。

样例

给出 num = 8,返回 true。给出 num = 14,返回 false。

思路

    /**
     * @param num an integer
     * @return true if num is an ugly number or false
     */
    public boolean isUgly(int num) {
        if (num <= 0) return false;  
        if (num == 1) return true; 
        
        while(num >= 2 && num % 2 == 0){
            num /= 2;
        }
        
        while(num >= 3 && num % 3 == 0){
            num /= 3;
        }
        
        while(num >= 5 && num % 5 == 0){
            num /= 5;
        }
        
        return num == 1;
    }

你可能感兴趣的:(LintCode - 丑数(普通))