LintCode 丑数

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

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

样例

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

分析:如果一个数能连续被2整除,或连续被3整除,或连续被5整除,最后的数为1 即为丑数
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;
            else
            {
            while(num%2==0)
            num/=2;
            while(num%3==0)
            num/=3;
            while(num%5==0)
            num/=5;
            return (num==1)?true:false;
            }
    }
};

  

posted @ 2016-12-01 16:47  lelelelele  阅读(928)  评论(0编辑  收藏  举报