码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode -- Ugly Number

时间:2015-09-19 19:45:41      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

Question:

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.

 

Analysis:

问题描述:写出一个程序判断一个数字是否为ugly number。ugly number是指仅包含2,3,5因子的数,例如8是丑数,而14就不是丑数,因为它还含有因子7. 1认为是丑数。

思路:当这个数可以被2/3/5整数就一直整出,知道最后,如果剩下的是1,说明该数是丑数;若不是1,则说明该数不是丑数。

 

Answer:

public class Solution {
    public boolean isUgly(int num) {
        if(num <= 0)
                return false;
        while(num != 0 && (num%2==0 || num%3==0 || num%5==0)) {
                if(num % 2 == 0)
                    num = num / 2;
                if(num % 3 == 0)
                    num = num / 3;
                if(num % 5 == 0)
                    num = num / 5;
        }
        if(num == 1)
                return true;
        else
                return false;
    }
}

 

LeetCode -- Ugly Number

标签:

原文地址:http://www.cnblogs.com/little-YTMM/p/4822025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!