欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

丑数

程序员文章站 2022-07-15 16:18:16
...

写一个程序来检测一个整数是不是丑数

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

 注意事项

可以认为 1 是一个特殊的丑数。

样例

给出 num = 8,返回 true

给出 num = 14,返回 false

  /**
     * 如果一个数为丑数,则它必定能被2或3或者5这些质数整除,合数也一定能被某一个或者一些质数整除
     * 所以不断整除2,3,5,最终结果为1时则表示为丑数
     *
     * @param num
     * @return
     */
    public boolean isUgly(int num) {
        if (num == 0) return false;
        if (num == 1) return true;
        while (num % 2 == 0) num /= 2;
        while (num % 3 == 0) num /= 3;
        while (num % 5 == 0) num /= 5;
        return num == 1 ? true : false;
    }


相关标签: 数学 质因子