Задача к ЕГЭ по информатике на тему «Исполнитель «Редактор» – определение исходной строки по результату» №1

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v  на цепочку w  . Например, выполнение команды

заменить (111,27)

преобразует строку 05111150  в строку 0527150  .

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

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

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

Цикл

   ПОКА условие

      последовательность команд

   КОНЕЦ ПОКА

выполняется, пока условие истинно.

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

НАЧАЛО

   ПОКА нашлось(15)

      заменить(15,5)

      заменить(53,3)

   КОНЕЦ ПОКА

КОНЕЦ

В результате работы программы к строке 1◟. ◝.◜.1◞5◟. ◝.◜.5◞3◟. ◝.◜.3◞  44    ?    12  получилась строка, в которой содержится 30  цифр     5  . Сколько цифр 5  было в изначальной строке?

for i in range(100):
    n = "1" * 44 + "5" * i + "3" * 12
    while "15" in n:
        n = n.replace("15", "5", 1)
        n = n.replace("53", "3", 1)
    if n.count("5") == 30:
        print(i)
        break

 

Ответ: 74
Оцените статью
Я решу все!