題目
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/ugly-number
丑數(shù)就是只包含質(zhì)因數(shù) 2, 3, 5 的正整數(shù)荣月。
示例 1:
輸入: 6
輸出: true
解釋: 6 = 2 × 3
示例 2:
輸入: 8
輸出: true
解釋: 8 = 2 × 2 × 2
示例 3:
輸入: 14
輸出: false
解釋: 14 不是丑數(shù)科汗,因為它包含了另外一個質(zhì)因數(shù) 7
解法
- 方法1
func isUgly(num int) bool {
if num == 0 {
return false
}
if num == 1 {
return true
}
primeMap := []int{2, 3, 5}
for _, primeValue := range primeMap {
for {
if num%primeValue == 0 {
num = num / primeValue
} else {
break
}
}
if num == 1 {
return true
}
}
return false
}
- 方法2
func isUgly1(num int) bool {
for num != 1 {
if num%2 == 0 {
num /= 2
} else if num%3 == 0 {
num /= 3
} else if num%5 == 0 {
num /= 5
} else {
return false
}
}
return true
}