Задание 12. Информатика. ЕГЭ. Шастин. 18.12.2024

Просмотры: 249
Изменено: 17 января 2025

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

А) заменить (v, w)

Эта команда заменяет в строке первое слева вхождение цепочки \(v\) на цепочку \(w\). Например, выполнение программы заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки \(v\), то выполнение команды заменить (u, v) не меняет эту строку.

Б) нашлось (v)

Эта команда проверяет, встречается ли цепочка \(v\) в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не меняется.

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из \(140\) подряд идущих цифр «8»? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (888) ИЛИ нашлось (2222)
   ЕСЛИ нашлось (2222)
      ТО заменить (2222, 88)
      ИНАЧЕ заменить (888, 22)
   КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

Решение:

Python


s = '8' * 140

while '888' in s or '2222' in s:
    if '2222' in s:
        s = s.replace('2222', '88', 1)
    else:
        s = s.replace('888', '22', 1)
print(s)

Ответ: \(228\)