Форум » Выполнение и анализ алгоритмов для исполнителей » Демо версия 2016 задача 14 » Ответить

Демо версия 2016 задача 14

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

Ответов - 7

Поляков: Kse142 пишет: В данной задаче у меня не сходится ответ с тем, который предложен в демоверсии. Изложите свое решение. Ответ там правильный.

Kse142: При первой замене остаётся две 8 и 22 двойки. Затем остаётся 8888888288 При ещё одной замене 228288.

Поляков: Kse142 пишет: При первой замене остаётся две 8 и 22 двойки. Это неверно. Не додумывайте, выполните алгоритм формально. Первая замена - первые три восьмерки на 2. Следующая - следующие три восьмерки на 2. Затем следующие три восьмерки на 2. Затем три двойки на восьмерку, и т.д.


Kse142: Спасибо всё получилось

Поляков: Марина пишет: И все же остается вопрос по этому заданию: 68(8)=22(2)+2(8) 22(2)+2(8)=7(8)+1(2)+2(8), можно ли переставлять цифры???? Пожалуйста, изложите внятно, что вы хотите сказать. Я пока ничего не понял.

Поляков: Марина пишет: 68 восьмерок заменяем на 22 двойки и на месте остаются две восьмерки Вы неверно прочитали алгоритм. Как только появляется цепочка 222, она сразу заменяется на 8.

Марина: Спасибо за разъяснения



полная версия страницы