lintcode-517-丑数

517-丑数

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

注意事项

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

样例

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

标签

数学

思路

使用丑数的数学定义求解即可。

code

class Solution {
public:
    /*
     * @param num: An integer
     * @return: true if num is an ugly number or false
     */
    bool isUgly(int num) {
        // write your code here
        if (num <= 0) {
            return false;
        }
        while (num % 2 == 0) {
            num /= 2;
        }
        while (num % 3 == 0) {
            num /= 3;
        }
        while (num % 5 == 0) {
            num /= 5;
        }

        if (num == 1) {
            return 1;
        }
        else {
            return 0;
        }
    }
};
原文地址:https://www.cnblogs.com/libaoquan/p/7499130.html