263. Ugly Number
Descripiton
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.
Solution
- 题意即判断一个正数的所有素数因子是否只含有2、3、5,如果是返回
true
否则返回false
. - 可以对该数进行质因数分解(不断用2、3、5除),然后判断最后剩下的是否是1来判断。代码如下:
bool isUgly(int n) {
if (n <= 0) return false;
for (int i = 2;i < 6;i++) {
while (n % i == 0)
n /= i;
}
return n == 1;
}