Home LeetCode - 263. Ugly Number
Post
Cancel

LeetCode - 263. Ugly Number

263. Ugly Number - easy

문제

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.

제한사항

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

입출력 예

1
2
3
4
5
Example 1:

Input: 6
Output: true
Explanation: 6 = 2 × 3
1
2
3
4
5
Example 2:

Input: 8
Output: true
Explanation: 8 = 2 × 2 × 2
1
2
3
4
5
Example 3:

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

풀이

  • math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
func isUgly(num int) bool {
    if (num == 0) {
        return false
    } else if (num == 1 || num == 2 || num == 3 || num == 5) {
        return true;
    }
    
    res := false
    
    if (num % 2 == 0) {
        res = res || isUgly(num/2)
    }
    
    if (num % 3 == 0) {
        res = res || isUgly(num/3)
    }
    
    if (num % 5 == 0) {
        res = res || isUgly(num/5)
    }
    
    return res
}
This post is licensed under CC BY 4.0 by the author.