5 номер. Преобразование записей чисел
Алгоритм обработки числа
Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:
1 Вычисляется сумма чётных цифр в десятичной записи числа N. Если чётных цифр в записи нет, сумма считается равной нулю.
2 Вычисляется сумма цифр, стоящих на чётных местах в десятичной записи числа N без ведущих нулей. Места отсчитываются слева направо (от старших разрядов к младшим, начиная с единицы). Если число однозначное (цифр на чётных местах нет), сумма считается равной нулю.
3 Результатом работы алгоритма становится модуль разности полученных двух сумм.
Пример. Дано число N = 2021 Алгоритм работает следующим образом:
1 Чётные цифры в записи: 2, 0, 2, их сумма равна 4
2 Цифры на чётных местах: 0, 1, их сумма равна 1
3 Модуль разности полученных сумм равен 3
Результат работы алгоритма R = 3
При каком наименьшем N в результате работы алгоритма получится R = 13?
Подсказка
Сначала выполните все шаги для одного N, сохраняя строку после каждого изменения. Затем уточните, что требуется выбрать: N, R или количество значений.
Решение
Разделите решение на два действия: для одного входного числа точно воспроизведите алгоритм, затем отберите результаты по условию задачи. Храните запись числа строкой; основание используемой системы счисления — 10.
Суммируйте цифры записи, а не само число. После преобразования запись может измениться: повторный подсчёт выполняйте по новой строке, если именно она названа в условии.
Дописывание справа реализуется как s + suffix, слева — как prefix + s. Добавляйте ровно указанную последовательность символов, включая нули. Числовое сложение вместо соединения строк здесь меняет алгоритм.
В шаге с разностью важен порядок операндов. Сохраните исходное число и промежуточные результаты отдельно, чтобы вычитать именно указанные величины, не перезаписав одну из них строковым представлением.
Отбирайте ту величину, о которой спрашивается в последнем предложении: исходное число и результат алгоритма нельзя подменять друг другом. Для наименьшего входа рассматривайте допустимые N по возрастанию; для наибольшего проверяйте весь обоснованный диапазон.
Строгое «больше» означает >, а «не меньше» — >=; аналогично различайте верхние границы. Диапазон перебора определяйте из ограничений и изменения длины записи, а не произвольной константой. Пример из условия помогает проверить отдельный проход алгоритма.
Ответ: 618.