5 номер. Преобразование записей чисел
Алгоритм обработки числа
(Иглин К.) Автомат получает на вход пятизначное число N. По этому числу строится новое число Z по следующим правилам.
1) Вычисляется число S - сумма всех цифр числа N.
2) Вычисляется число M - сумма максимальной и минимальной цифры в записи числа N.
3) Вычисляется число L - самая левая цифра числа N.
4) Вычисляется число R - самая правая цифра числа N.
5) Вычисляется P₁: P₁ = S - L
6) Вычисляется P₂: P₂ = M - R
Новое число Z получается в результате записи рядом, без пробелов, чисел P₁ и P₂ таким образом, чтобы они следовали слева направо в неубывающем порядке.
Пример: Исходное число К = 12502
S = 1 + 2 + 5 + 2 = 10
M = 0 + 5 = 5
L = 1
R = 2
P₁ = 9
P₂ = 3
Результат: Z = 39
Укажите наибольшее число N, при обработке которого автомат выдаст число Z = 222.
Подсказка
Сначала выполните все шаги для одного N, сохраняя строку после каждого изменения. Затем уточните, что требуется выбрать: N, R или количество значений.
Решение
Искомая величина: Укажите наибольшее число N, при обработке которого автомат выдаст число Z = 222.
Разделите решение на два действия: для одного входного числа точно воспроизведите алгоритм, затем отберите результаты по условию задачи. Храните запись числа строкой; основание используемой системы счисления — 10.
Суммируйте цифры записи, а не само число. После преобразования запись может измениться: повторный подсчёт выполняйте по новой строке, если именно она названа в условии.
Дописывание справа реализуется как s + suffix, слева — как prefix + s. Добавляйте ровно указанную последовательность символов, включая нули. Числовое сложение вместо соединения строк здесь меняет алгоритм.
Отбирайте ту величину, о которой спрашивается в последнем предложении: исходное число и результат алгоритма нельзя подменять друг другом. Для наименьшего входа рассматривайте допустимые N по возрастанию; для наибольшего проверяйте весь обоснованный диапазон.
Строгое «больше» означает >, а «не меньше» — >=; аналогично различайте верхние границы. Диапазон перебора определяйте из ограничений и изменения длины записи, а не произвольной константой. Пример из условия помогает проверить отдельный проход алгоритма.
Ответ: 99607.