12345678910111213141516171819202122 |
- func sqr(x int) int {
- return x * x
- }
- func isHappy(n int) bool {
- occur := make(map[int]struct{})
- for {
- if _, ok := occur[n]; ok {
- return false
- } else if n == 1 {
- return true
- }
- occur[n] = struct{}{}
- var next int
- for next = 0; n != 0; n /= 10 {
- next += sqr(n % 10)
- }
- n = next
- }
- return false
- }
|