printРабочее место участника

printЗадачи

2427. Первоклассные числа

Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Если взять натуральное число и найти сумму квадратов его цифр, затем сумму квадратов цифр результата и так далее, то через несколько шагов для некоторых из чисел получится число 1. Такие числа будем называть первоклассными. Например, первоклассным будет число 19, так как `1^2+9^2=82`, `8^2+2^2=68`, `6^2+8^2=100`, `1^2+0^2+0^2=1`. А числа 2 или 5 первоклассными не являются.
Напишите программу, которая определяет, является ли заданное число первоклассным.
Первая строка ввода содержит одно целое число `N`.
Вывести сообщение "YES", если число `N` является первоклассным, иначе вывести сообщение "NO".

Пример ввода 1

19

Пример вывода 1

YES

Пример ввода 2

5

Пример вывода 2

NO
Описание подзадач и системы оценивания
Подзадача 1 (20 баллов)
`1\ ≤\ N\ ≤\ 10`
В этой подзадаче 10 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
Подзадача 2 (30 баллов)
Необходимые подзадачи: 1.
`10\ <\ N\ ≤\ 1000`
В этой подзадаче 5 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
Подзадача 3 (30 баллов)
Необходимые подзадачи: 1,2.
`1000\ <\ N\ ≤\ 10^9`
В этой подзадаче 5 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
Подзадача 4 (20 баллов)
Необходимые подзадачи: 1,2,3.
`10^9\ <\ N\ ≤\ 10^{100}`
В этой подзадаче 5 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
По запросу сообщается результат окончательной проверки для всех подзадач (без разделения на отдельные тесты).
loading