Задание 12. Информатика. ЕГЭ. Поляков-7470

Просмотры: 24
Изменено: 18 сентября 2024

(ЕГЭ-2024) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах \(v\) и \(w\) обозначают цепочки символов.

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки \(v\) на цепочку \(w\). Если цепочки \(v\) в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка \(v\) в строке исполнителя Редактор.

Дана программа для исполнителя Редактор:

  ПОКА нашлось (33333) ИЛИ нашлось (777)
    ЕСЛИ нашлось (33333)
    ТО заменить (33333, 7)
    ИНАЧЕ заменить (777, 3)
  КОНЕЦ ПОКА

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из \(108\) идущих подряд цифр \(7\)?

Решение:

Python


s = '7' * 108

while '33333' in s or '777' in s:
    s = s.replace('33333', '7', 1) if '33333' in s else s.replace('777', '3', 1)

print(s)

Ответ: \(3337\)