Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение 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 (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 тестов. Баллы за подзадачу начисляются только в случае, если все тесты для этой подзадачи успешно пройдены.
По запросу сообщается результат окончательной проверки для всех подзадач (без разделения на отдельные тесты).