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

printЗадачи

1567. Числа-палиндромы

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

Возьмем произвольное число большее или равное 1. Если это число не является числом-палиндромом (которое одинаково читается слева-направо и справа-налево, например 27372), то запишем его наоборот, а затем сложим его с первоначальным числом. После нескольких таких шагов для большинства чисел-затравок мы получаем число-палиндром. Например, для числа 78: 78+87=165, 165+561=726, 726+627=1353, 1353+3531=4884.
Для некоторых чисел, наименьшее среди которых 196, даже после очень большого числа шагов (более ста тысяч) палиндром не получается.
Во входном файле содержится несколько (не более 100) чисел в диапазоне от 1 до 99999, по одному числу в строке. Признаком конца набора чисел является число 0.
В выходной файл для каждого числа из входного файла вывести на отдельной строке или само число, если оно уже является числом-палиндромом, или число-палиндром, которое получается из указанного за сто или меньшее число шагов, или число 0, если число-палиндром не может быть получено за сто или меньшее число шагов. Для числа 0, являющегося признаком окончания набора чисел, в выходной файл ничего не выводится.

Пример ввода

27372
196
78
1999
0

Вывод для примера

27372
0
4884
712217
loading