Статья Автор: Лебедев Дмитрий

TUZ_4-06 Вторая машина Маккаллоха

TUZ_4-06 Вторая машина Маккаллоха

TUZ_4-06 Вторая машина Маккаллоха
4.6. Вторая машина Маккаллоха
В этом задании рассматривается пример эзотерического языка программирования,
который поможет вам улучшить ваши навыки программирования на Python.
Эзотерический язык программирования, также известный как эзоланг, – это язык,
предназначенный для проверки сложных и нетрадиционных идей.
Он не предназначен для практического использования и служит исключительно развлекательным целям.
Система перезаписи строк Маккаллоха использует цифры от 0 до 9 и применяет к ним определенные правила.
В этом контексте массив X представляет строки со значениями в диапазоне от 0 до n – 1,
а массив Y вычисляется на основе X и состоит из значений в диапазоне от 1 до n – 1.
           1. Если X [0] = 2, то в Y возвращается оставшаяся часть массива X.
           2. Если X [0] = 3, то в Y возвращается X + 2 + X.
           3. Если X [0] = 4, то в Y возвращается X [:: – 1].
           4. Если X [0] = 5, то в Y возвращается X + X.
Ваша задача: написать функцию, которая принимает строку X и возвращает результат,
полученный на основе упомянутых правил.
В табл. 4.6 показаны ожидаемые результаты для некоторых входных данных.
Таблица 4.6. Некоторые ожидаемые результаты для задачи перезаписи строк
X Ожидаемый результат
2999 999
329 929
101 None
322097845 209784522097845

Алгоритм
Алгоритм перезаписи заданной строки цифр в соответствии с определенными правилами принимает строку X
и на основе ее первой цифры выбирает правило для применения к цифрам.
Затем этот процесс рекурсивно повторяется до тех пор, пока в строке не останется цифр
или пока не встретится цифра, для которой нет правила.


Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать