Problem:
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:
题目大概意思
编写一个程序来检查一个给定的数字是否是一个丑的数字。
丑数字是正数,其首要因素仅包括2,3,5,例如,6,8是丑数而14不是丑数因为它包括另一个素因数7。
需要注意的是1,通常被视为一个丑的数。
Anwser1:
public class Solution {
public boolean isUgly(int num) {
if(num==0) return false;
if(num==1) return true;
else {
//代码简写:while (num%2==0) num /=2;
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 false;
//本行代码及下一行代码可以用一行代码代替,即 return num==1;
else return true;
}
}
}
注意:开始没有考虑num为0 的情况导致超时。
如果想看题目Ugly Number II请查看链接:
http://blog.csdn.net/u010305706/article/details/50033769