Ugly Number

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.

思路:根据ugly number 的定义可知,ugly number 是由 2, 3,5 的因子组成的。要判断一个数是否为ugly number 看它的因子是否只包含2,3,5。

 1 public class Solution {
 2     /**
 3      * @param num an integer
 4      * @return true if num is an ugly number or false
 5      */
 6     public boolean isUgly(int num) {
 7         if (num == 1) {
 8             return true;
 9         }
10         if (num <= 0) {
11             return false;
12         }
13         while (num % 2 == 0) {
14             num = num / 2;
15         }
16         while (num % 3 == 0) {
17             num = num / 3;
18         }
19         while (num % 5 == 0) {
20             num = num / 5;
21         }
22         return num == 1 ? true : false;
23     }
24 }

 

posted @ 2016-04-06 09:48  YuriFLAG  阅读(168)  评论(0)    收藏  举报