Присоединиться

11 класс·высокий уровень

Редактор может выполнять две команды, в обеих командах v и w обозначают

Условие

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

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

Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Дана программа для Редактора: НАЧАЛО ПОКА нашлось (111) ИЛИ нашлось (222) заменить (111, 22) заменить (222, 11) заменить (11,

  1. заменить (22,

  2. КОНЕЦ ПОКА КОНЕЦ Определите, сколько различных строк может получиться в результате применения этой программы к строкам, состоящим только из единиц.

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python.otv = []for i in range(1,1000): s = '1' * i while ('111' in s) or ('222' in s): s = s.replace('111', '22',

Осталось ещё 4 шага

  1. s = s.replace('222', '11'…

  2. s = s.replace('11', '2'…

  3. s = s.replace('22', '1'…

  4. otv.append(s)print(len(set(otv)))…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Выполнение алгоритмов для исполнителей»

Редактор может выполнять две команды, в обеих командах v и w обозначают — решение с объяснением | Lom Ai