Skip to content

Latest commit

 

History

History

263

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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

Companies: Amazon, Bloomberg, Facebook

Related Topics:
Math

Similar Questions:

Solution 1.

// OJ: https://leetcode.com/problems/ugly-number
// Author: github.com/lzl124631x
// Time: O(log2(N) + log3(N) + log5(N))
// Space: O(1)
class Solution {
public:
    bool isUgly(int n) {
        if (n <= 0) return false;
        int ds[3] = {2,3,5};
        for (int d : ds) {
            while (n % d == 0) n /= d;
        }
        return n == 1;
    }
};