# Question

Formatted question description: https://leetcode.ca/all/263.html

An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.

Given an integer n, return true if n is an ugly number.

Example 1:

Input: n = 6
Output: true
Explanation: 6 = 2 × 3


Example 2:

Input: n = 1
Output: true
Explanation: 1 has no prime factors, therefore all of its prime factors are limited to 2, 3, and 5.


Example 3:

Input: n = 14
Output: false
Explanation: 14 is not ugly since it includes the prime factor 7.


Constraints:

• -231 <= n <= 231 - 1

# Algorithm

Keep being devided by these prime numbers, if the remaining number is 1, it is an ugly number.

# Code

• 
public class Ugly_Number {
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;
}
}
}

############

class Solution {
public boolean isUgly(int n) {
if (n < 1) return false;
while (n % 2 == 0) {
n /= 2;
}
while (n % 3 == 0) {
n /= 3;
}
while (n % 5 == 0) {
n /= 5;
}
return n == 1;
}
}

• class Solution:
def isUgly(self, n: int) -> bool:
if n < 1:
return False
for x in [2, 3, 5]:
while n % x == 0:
n //= x
return n == 1

############

class Solution(object):
def isUgly(self, n):
"""
:type num: int
:rtype: bool
"""
if n <= 0:
return False
while n % 2 == 0 or n % 3 == 0 or n % 5 == 0:
if n % 2 == 0:
n /= 2
if n % 3 == 0:
n /= 3
if n % 5 == 0:
n /= 5
if n == 1:
return True
return False


• class Solution {
public:
bool isUgly(int n) {
if (n < 1) return false;
while (n % 2 == 0) {
n /= 2;
}
while (n % 3 == 0) {
n /= 3;
}
while (n % 5 == 0) {
n /= 5;
}
return n == 1;
}
};

• func isUgly(n int) bool {
if n < 1 {
return false
}
for _, x := range []int{2, 3, 5} {
for n%x == 0 {
n /= x
}
}
return n == 1
}

• /**
* @param {number} n
* @return {boolean}
*/
var isUgly = function (n) {
if (n < 1) return false;
while (n % 2 === 0) {
n /= 2;
}
while (n % 3 === 0) {
n /= 3;
}
while (n % 5 === 0) {
n /= 5;
}
return n === 1;
};


• class Solution {
/**
* @param Integer $n * @return Boolean */ function isUgly($n) {
while ($n) { if ($n % 2 == 0) $n =$n / 2;
else if ($n % 3 == 0)$n = $n / 3; else if ($n % 5 == 0) $n =$n / 5;
else break;
}
return \$n == 1;
}
}