517.丑数

丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数因为他包含了质因子 7。所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n % m == 0。根据丑数的定义,丑数只能被2、3和5整除。也就是说如果一个数如果它能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;如果能被5整除,就除以连续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;
     while (num%2 == 0)
           num = num / 2;
     while (num%3 == 0)
           num = num /3;
     while (num%5 == 0)
           num = num /5;
     if (num == 1)
         return true;
    return false ;
    }
};
posted @ 2017-12-09 11:12  MrYun  阅读(151)  评论(0)    收藏  举报