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

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

Какая строка получится в результате применения приведённой ниже

Условие

Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.А) заменить (v, w).Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.Б) нашлось (v).Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. ЦиклПОКА условие последовательность командКОНЕЦ ПОКАвыполняется, пока условие истинно. Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 99 единиц?НАЧАЛО ПОКА нашлось (111) заменить (11,

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

  2. КОНЕЦ ПОКАКОНЕЦ

Ответ

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

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

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

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

    Решение. Данный алгоритм сначала заменит четыре первых единицы на две двойки, а затем заменит эти две двойки обратно на одну единицу. То есть четыре подряд идущих единиц заменяются на одну. Так, из 99 единиц — 24 группы по 4 единицы и ещё 3 единицы, всего — 27 единиц.

    Далее алгоритм заменит 6 групп по четыре единицы и останутся 9 подряд идущих единиц. После этого первые 8 единиц заменятся на две и останется последовательность из трёх единиц. Далее первые две единицы заменяются на двойку и получится строка

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

  1. Приведём другое решение на языке Python.s =…

  2. s = s.replace('22', '1', 1)print(s)…

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

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

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