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:
1
is typically treated as an ugly number.
- Input is within the 32-bit signed integer range.
题意:
判断一个数是否为丑数。丑数:质因数只可能为2,3,5的数
思路:
先一直除以2,直到不能除尽,再除以3,直到不能除尽,再除以5直到不能除尽,最后如果是1,就是丑数,否则就不是。
代码:
class Solution {
public boolean isUgly(int num) {
if(num<=0)
return false;
while(num%2==0)
num/=2;
while(num%3==0)
num/=3;
while(num%5==0)
num/=5;
return num==1;
}
}