
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом.
Сначала вычисляется длина исходной цепочки символов; если она четна, то в цепочке дублируется символ, который находится в латинском алфавите позже остальных символов цепочки, а если нечетна − вычеркивается первый символ.
В полученной цепочке символов каждая буква заменяется буквой, стоящей после нее в латинском алфавите (A заменяется на B, B заменяется на C и т. д., Z заменяется на A).
Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной цепочкой была цепочка RDJ, то результатом работы алгоритма будет цепочка EK, а если исходной цепочкой была KIPD, то результатом работы алгоритма будет цепочка LJQQE.
Дана цепочка символов CKHYEP. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Латинский алфавит: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Решение.
Это задание ещё не решено, приводим решение прототипа.
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она четна, то из цепочки вычеркивается символ, который находится в латинском алфавите раньше остальных символов цепочки, а если нечетна — дублируется символ в середине цепочки. В полученной цепочке символов каждая буква заменяется буквой, стоящей перед ней в латинском алфавите (B заменяется на A, C заменяется на B и т. д., A заменяется на Z). Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной цепочкой была цепочка ETH, то результатом работы алгоритма будет цепочка DSSG, а если исходной цепочкой была LPZF, то результатом работы алгоритма будет цепочка KOY.
Дана цепочка символов ONRAT. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Латинский алфавит: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Применим алгоритм: ONRAT (нечетная) → ONRRAT → NMQQZS. Применим его еще раз: NMQQZS (четная) → NQQZS → MPPYR.
Ответ: MPPYR.

