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; } }