263. Ugly Number(判断是否是丑数 剑指offer34)

Write a program to check whether a given number is an ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it includes another prime factor 7.

Note that 1 is typically treated as an ugly number.

 

 

暴力dfs:

class Solution {
public:
    bool isUgly(int n) {
        if (n==0) return false;
        if (n==1) return true;
        if (n%2==0) return isUgly(n/2); 
        if (n%3==0) return isUgly(n/3);
        if (n%5==0) return isUgly(n/5);
        return false;
    }
};

 

 

 

 

1 class Solution {
2     public boolean isUgly(int n) {
3         if(n==0) return false;
4         while(n%2==0) n/=2;
5         while(n%3==0) n/=3;
6         while(n%5==0) n/=5;
7         return n==1;
8     }
9 }

 

posted @ 2018-03-11 12:39  乐乐章  阅读(129)  评论(0编辑  收藏  举报