
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечетна, то после последнего символа цепочки добавляется средний символ, а если четна, то в середину цепочки символов вставляется символ 1. В полученной цепочке символов каждая цифра заменяется на предыдущую (1 заменяется на 0, 2 − на 1, и т. д., а 0 заменяется на 9).
Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной цепочкой была цепочка 456, то результатом работы алгоритма будет цепочка 3454, а если исходной цепочкой была 5203, то результатом работы алгоритма будет цепочка 41092.
Дана цепочка символов 4732. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Решение.
Это задание ещё не решено, приводим решение прототипа.
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечетна, то в исходной цепочке символов удваивается средний символ, а если четна, то в начало цепочки добавляется символ 1. В полученной строке каждая цифра заменяется на следующую (1 заменяется на 2, 2 — на 3, и т. д., а 9 заменяется на 0). Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной цепочкой была цепочка 356, то результатом работы алгоритма будет цепочка 4667, а если исходной цепочкой была 52, то результатом работы алгоритма будет цепочка 263.
Дана цепочка символов 35842. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Применим алгоритм: 35842 (нечетная) → 358842 → 469953.
Применим его еще раз: 469953 (четная) → 1469953 → 2570064.
Ответ: 2570064.

