Мне нужен алгоритм для машины Тьюринга, который читает строку 0, а затем записывает на ленту, сколько их было в двоичном виде.
Я понимаю, что на практике машина фактически не будет считаться0, но я довольно озадачен тем, как это сделать.
Я предпочитаю сначала указать место, где двоичное число начинается с X или чего-то еще, а затем просто написать 1 для первых 0 и для каждого из следующих 0, если младший бит0 это становится 1, но что если это 1?Может быть, превратить его в 0 и продолжать влево, переставляя все 1 в 0, пока я не найду 0 или пробел, чтобы превратить в 1?Опять же, в этом случае это одно и то же, независимо от LSB, потому что я буду делать то же самое, только 0 будет первой позицией ...
Хмм ... резиновая уточка ...