Построить машину, которая делит записанное на ленте число в единичной системе счисления на 2 нацело (то есть, число «шесть», представленное на ленте набором единиц 111 111 преобразуется в число 111, а число 11 111 в число 11). В качестве примера приведена машина Тьюринга, добавляющая к числу 1. В начальном состоянии s0 и в конечном состоянии f головка машины должна указывать на первую единицу числа.
Уточним постановку задачи, определив, что машина будет обрабатывать все числа, кроме 1 (в этом случае условием задачи не определено, где должна находиться головка машины). Один из вариантов решения — анализировать число на ленте слева направо, стирая по две единицы, а результат записывать левее исходного числа справа налево — на одно стирание двух единиц одну единицу результата.
Ответ: ниже приведен пример одного из возможных решений:
«инициализация» результата;
замена первых двух единиц одной;
стирание очередной единицы числа;
стирание следующей за очередной единицы числа;
поиск конца результата;
и добавление;
единицы в его конце;
поиск очередной единицы заданного числа;
и повторение операции двух единиц числа единицей результата;
завершение работы;
через пропуск стертых символов;
и остановкой;
на первой единице результата;
в случае чётного числа единиц;
то же для нечётного числа единиц.