Решение: Преобразование строки Редактором
На вход программе поступает строка из 120 цифр, содержащая по 40 цифр 4, 7 и 9, расположенных в произвольном порядке. Программа последовательно заменяет первое слева вхождение цепочек $47$, $49$ и $97$ на цепочки $74$, $94$ и $79$ соответственно, пока ни одна из этих цепочек не встречается. Определите, какие цифры будут находиться на 25-м, 73-м и 105-м местах получившейся строки.
Цифры в строке нумеруются слева направо, начиная с 1. Запишите три цифры подряд без пробелов и разделителей в порядке возрастания номеров мест.
Решение по шагам
4 шагаКаждая команда замены изменяет только порядок двух соседних цифр, поэтому длина строки и количества цифр 4, 7 и 9 сохраняются.
Цикл выполняется до тех пор, пока в строке есть хотя бы одна из пар $47$, $49$ или $97$. При каждом проходе первое слева вхождение каждой найденной пары заменяется на $74$, $94$ или $79$ соответственно.
Последовательное моделирование замен до исчезновения всех трёх запрещённых пар позволяет определить символы на требуемых позициях итоговой строки.
На 25-м месте находится цифра 7, на 73-м — цифра 9, на 105-м — цифра 4.
Где здесь ошибаются
Считать, что замена удаляет или добавляет цифры.
Заменять все вхождения пары одновременно вместо первого слева.
Не учитывать, что после каждой замены строка проверяется заново.
Записывать позиции в исходной строке, а не в строке после завершения программы.