【leetcode】263. Ugly Number

problem

263. Ugly Number

丑数

所谓丑数就是其质数因子只能是2,3,5。那么最直接的办法就是不停的除以这些质数,如果剩余的数字是1的话就是丑数了。

solution1

class Solution {
public:
    bool isUgly(int num) {
        if(num<=0) return false;//err.
        while(num%2==0) num /= 2;
        while(num%3==0) num /= 3;
        while(num%5==0) num /= 5;
        return num==1;//
        
    }
};

solution2

class Solution {
public:
    bool isUgly(int num) {
        //if(num<=0) return false;
        while(num>=2)
        {
            if(num%2==0) num /= 2;
            else if(num%3==0) num /= 3;
            else if(num%5==0) num /= 5;
            else return false;//err.
        }
        return num==1;   
        
    }
};

 

参考

1. Leetcode_263_Ugly Number;

posted on 2019-02-19 19:33  鹅要长大  阅读(155)  评论(0编辑  收藏  举报

导航