Back to Leetcode Go

263. Ugly Number

website/content.en/ChapterFour/0200~0299/0263.Ugly-Number.md

1.7.971.0 KB
Original Source

263. Ugly Number

Problem

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 is typically treated as an ugly number.
  • Input is within the 32-bit signed integer range: [−2^31, 2^31 − 1].

Problem Summary

Determine whether a number is an “ugly number”. An “ugly number” is defined as a positive number whose factors only include 2, 3, and 5.

Solution Approach

Just follow the requirements of the problem.

Code

go

package leetcode

func isUgly(num int) bool {
	if num > 0 {
		for _, i := range []int{2, 3, 5} {
			for num%i == 0 {
				num /= i
			}
		}
	}
	return num == 1
}