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

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

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

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

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

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

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

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

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

Цикл

   ПОКА условие

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

   КОНЕЦ ПОКА

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

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

НАЧАЛО

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

      заменить(12,2)

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

   КОНЕЦ ПОКА

КОНЕЦ

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

for i in range(100):
    n = ’1’ * 30 + ’2’ * i + ’3’ * 6
    while ’12’ in n:
        n = n.replace(’12’, ’2’, 1)
        n = n.replace(’23’, ’3’, 1)
    if n.count(’2’) == 35:
        print(i)
        break

 

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