Leetcode Note: Go - Ugly Number
Ugly Number - LeetCode
https://leetcode.com/problems/ugly-number/
- Go 言語で取り組んだメモ
所感
- ugly number とは素因数が 2, 3, 5 のみの整数
- prime factor: 素因数
- これを判定して ugly number なら true を返す関数を実装する
回答
My Python and Go Solution - LeetCode Discuss
https://leetcode.com/problems/ugly-number/discuss/971510/My-Python-and-Go-Solution
func isUgly(n int) bool {
if n <= 0 {
return false
}
for n != 1 {
if n % 2 == 0 {
n /= 2
} else if n % 3 == 0 {
n /= 3
} else if n % 5 == 0 {
n /= 5
} else {
return false
}
}
return true
}
- n が 1 以外ならループを回す
- 2, 3, 5 で余り無しの除算できるのであれば、できるだけやる
- 除算が出来なければ Ugly Number では無いので return false
- 除算が出来てループを抜けたら 2, 3, 5 で除算しきれたということなので Ugly Number と判定して return true