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

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

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

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

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

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

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

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

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

Цикл

   ПОКА условие

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

   КОНЕЦ ПОКА

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

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

НАЧАЛО

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

      заменить (555, 44)

      заменить (444, 555)

   КОНЕЦ ПОКА

КОНЕЦ

Известно, что исходная строка содержала более 200 пятерок и не содержала других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы этой программы получится строка, содержащая хотя бы одну пятерку.

for i in range(200, 1000):
    s = ’5’*i
    counter = 0  # чтобы избежать бесконечных циклов
    while ’55’ in s:
        s = s.replace(’555’, ’44’, 1)
        s = s.replace(’444’, ’555’, 1)
        counter += 1
        if counter > 100000:
            s = ’0’
            break
    if s.count(’5’) >= 1:
        print(i)
        break
 

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