Данное задание проверяет умение исполнять алгоритм для формального исполнителя с фиксированным набором команд. В демоверсии ЕГЭ 2022 года это задание связано с исполнителем «Редактор».
Описание исполнителя «Редактор»
Исполнитель «Редактор» получает на вход строку цифр и может выполнять две команды:
- Замена подстроки: Заменяет одну подстроку на другую. Например, замена «в» на «w».
- Поиск подстроки: Проверяет, встречается ли заданная подстрока в строке.
Условие задачи
Необходимо определить, какая строка получится в результате применения приведенной ниже программы к строке, состоящей из 70 идущих подряд цифр 8.
Решение задачи с использованием Python
Для решения задачи эффективнее использовать среду программирования. В данном примере используется Python.
Создание исходной строки
Сначала создадим исходную строку из 70 восьмерок:
s = '8' * 70
Реализация алгоритма на Python
Далее перепишем алгоритм из условия задачи на Python:
while '44' in s or '4444' in s:
if '4444' in s:
s = s.replace('4444', '88', 1)
else:
s = s.replace('44', '88', 1)
print(s)
Код использует цикл while, который продолжает работу, пока в строке s присутствует подстрока «44» или «4444. Внутри цикла происходит проверка на наличие подстрок и замена с помощью метода replace. Аргумент 1 в replace указывает на то, что замена происходит только один раз на каждой итерации.
Результат
Запустив код, получаем ответ: Строка, полученная в результате выполнения алгоритма, состоит из двух двоек: «22». Это является правильным ответом на задание.
(Исходный код не выводит «22». Он выведет строку из 70 восьмерок, поскольку условие цикла (while ’44’ in s or ‘4444’ in s) никогда не будет истинным при начальной строке из одних восьмерок. Необходимо предоставить корректный алгоритм или исходные данные задачи.)