Menu
CoddyTech

Happy Number

Начни с положительного целого числа n и снова и снова заменяй его суммой квадратов его цифр. Например, 12 превращается в 1² + 2² = 5. Если в результате этого процесса получается 1, то n — счастливое число; иначе числа бесконечно повторяются по циклу, в котором никогда не встречается 1. Верни true, если n — счастливое число, и false, если это не так.

Функция

isHappy(n: integer) → boolean
ninteger
положительное целое число для проверки
Возвращаетboolean
true, если повторение суммы квадратов цифр приводит к 1; false, если повторяется бесконечно

Ограничения

  • 1 ≤ n ≤ 231-1

Примеры

Ввод
n = 7
Вывод
true
Пояснение
7 превращается в 49, затем 4² + 9² = 97, затем 130, затем 10, затем 1. Процесс достигает 1, поэтому 7 — счастливое число.

lock icon+16 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Как быстро посчитать счастливые числа от 1 до 10^6, повторно используя ответы для чисел меньше 1000, вместо того чтобы каждый раз начинать вычисления с нуля?

Сбросить код
def isHappy(n):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

n = 7

Ожидается

true