Skip to content

Latest commit

 

History

History
75 lines (66 loc) · 1.58 KB

README.md

File metadata and controls

75 lines (66 loc) · 1.58 KB

263. Ugly Number

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.

Example 1:

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

Example 2:

Input: 8
Output: true
Explanation: 8 = 2 × 2 × 2

Example 3:

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

Note:

  1. 1 is typically treated as an ugly number.
  2. Input is within the 32-bit signed integer range: [−231, 231 − 1].

Solutions (Ruby)

1. Solution

# @param {Integer} num
# @return {Boolean}
def is_ugly(num)
    if num == 0
        return false
    elsif num == 1
        return true
    elsif num % 2 == 0
        return is_ugly(num / 2)
    elsif num % 3 == 0
        return is_ugly(num / 3)
    elsif num % 5 == 0
        return is_ugly(num / 5)
    else
        return false
    end
end

Solutions (Rust)

1. Solution

impl Solution {
    pub fn is_ugly(num: i32) -> bool {
        if num == 0 {
            false
        } else if num == 1 {
            true
        } else if num % 2 == 0 {
            Self::is_ugly(num / 2)
        } else if num % 3 == 0 {
            Self::is_ugly(num / 3)
        } else if num % 5 == 0 {
            Self::is_ugly(num / 5)
        } else {
            false
        }
    }
}