517.Ugly Number-丑数(容易题)

来源:互联网 发布:数据库管理系统产品 编辑:程序博客网 时间:2024/05/21 18:32

丑数

  1. 题目

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

    注意事项
    可以认为 1 是一个特殊的丑数。

  2. 样例

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

  3. 题解

由于丑数只有2,3,5三个质因子,那么我们就拿该数字连续除以这三个因子。如果最后这个数变为1则为丑数,否则不是。

public class Solution {    /**     * @param num an integer     * @return true if num is an ugly number or false     */    public boolean isUgly(int num) {        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;    }}

Last Update 2016.9.18

0 0