package q202 type void struct{} func next(n int) int { ret := 0 for n > 0 { digit := n % 10 n /= 10 ret += digit * digit } return ret } func isHappy(n int) bool { seen := map[int]void{n: {}} for { n = next(n) if n == 1 { return true } if _, ok := seen[n]; ok { return false } seen[n] = void{} } } var _ = isHappy