#Hash Table#Math#Two Pointers Напишите алгоритм для определения того, является ли число n счастливым. Счастливое число — это число, определяемое следующим процессом: Начиная с любого положительного целого числа, замените число суммой квадратов его цифр. Повторяйте процесс, пока число не станет равным 1 (где оно и останется), или пока оно не зациклится бесконечно в цикле, который не включает 1. Те числа, для которых этот процесс заканчивается на 1, являются счастливыми. Верните true, если n является счастливым числом, и false, если нет. Example 1: Input: n = 19
Output: true
Explanation:
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1 Example 2: Input: n = 2
Output: false Ограничения: Решение на go func isHappy(n int) bool { num := make(map[int]bool) for !num[n]{ num[n] = true n=calc(n) if n == 1 { return true } } return false } func calc(n int)int{ output := 0 for n > 0 { digit := n % 10 digit = digit * digit output += digit n = n / 10 } return output }