Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение
Если в строке нет вхождений
Б) нашлось (v).
Эта команда проверяет, встречается ли
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из
НАЧАЛО
ПОКА нашлось (111)
заменить (11, 2)
заменить (22, 1)
КОНЕЦ ПОКА
КОНЕЦ
Данный алгоритм сначала заменит четыре первых единицы на две двойки, а затем заменит эти две двойки обратно на одну единицу. То есть четыре подряд идущих единиц заменяются на одну. Так, из
Далее алгоритм заменит 6 групп по четыре единицы и останутся
Примечание. В получившейся
Ответ: 211.
Приведём другое решение на языке Python.
s = '1' * 100
while '111' in s:
s = s.replace('11', '2', 1)
s = s.replace('22', '1', 1)
print(s)

