您的位置:首页 > 其它

LeetCode OJ:Ugly Number(丑数)

2015-10-07 10:56 281 查看
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.

丑数的计算,分别去除数字中的2,3,5部分,如果数字被整除了那么就是丑数,否则不是,下见代码:

class Solution {
public:
bool isUgly(int num) {
if(num == 0)
return false;
while(num % 2 == 0) num /= 2;//exclude 2 factor
while(num % 3 == 0) num /= 3;//exclude 3 factor
while(num % 5 == 0) num /= 5;//exclude 5 factor
return (num == 1);//is Ugly
}
};


java版本如下所示,方法相同:

public class Solution {
public boolean isUgly(int num) {
if(num == 0) return false;
while(num%5 == 0) num/=5;
while(num%3 == 0) num/=3;
while(num%2 == 0) num/=2;
return num == 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: