Решение: Редактор и замены строк
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. В строке, состоящей из 70 идущих подряд цифр 6, выполняется программа: пока встречается цепочка 5555 или 6666, если встречается 5555, её первое слева вхождение заменяется на 66, иначе первое слева вхождение 6666 заменяется на 55. Какая строка получится после завершения работы программы?
Решение по шагам
4 шагаИсходная строка состоит из 70 цифр 6. Так как цепочки 5555 нет, на каждом шаге сначала заменяется первое слева вхождение 6666 на 55.
После каждой замены строка проверяется заново. Когда появляются четыре подряд идущие цифры 5, первое такое вхождение заменяется на 66. Далее снова выполняются доступные замены 6666 на 55.
При последовательном выполнении команд остаточная строка после последней замены имеет вид $55$.
В строке $55$ отсутствуют цепочки $5555$ и $6666$, поэтому условие цикла становится ложным.
Где здесь ошибаются
Выполнять все замены 6666 одновременно, а не заменять только первое слева вхождение.
Не проверять после каждой замены появление цепочки 5555.
Остановить выполнение сразу после исчезновения цепочки 6666, не проверив условие цикла заново.