Шешімі: Редактор и замены строк
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки цифр v на цепочку w. Если цепочки v нет, строка не изменяется. Команда «нашлось (v)» проверяет, встречается ли цепочка v в строке, и возвращает значение «истина» или «ложь», не изменяя строку.
Цикл выполняется, пока условие истинно. В конструкции «ЕСЛИ условие ТО команда1 ИНАЧЕ команда2» выполняется команда1 при истинном условии и команда2 при ложном.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 80 идущих подряд цифр 1?
НАЧАЛО
ПОКА нашлось (11111) ИЛИ нашлось (888)
ЕСЛИ нашлось (11111)
ТО заменить (11111, 88)
ИНАЧЕ
ЕСЛИ нашлось (888)
ТО заменить (888, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Шешім по шагам
3 қадамВ строке из 80 единиц цепочка $11111$ заменяется на $88$ до тех пор, пока в строке остаётся хотя бы пять единиц. За 16 замен исчезают все 80 единиц.
$$80 = 16 \cdot 5$$Каждая из 16 замен добавляет две цифры 8, поэтому после этого образуется жол из 32 цифр 8.
$$16 \cdot 2 = 32$$Затем цепочка $888$ заменяется на $8$. Каждая такая операция уменьшает число восьмёрок на 2. Из 32 восьмёрок остаются две восьмёрки, после чего цепочки $888$ уже нет.
$$32 \to 30 \to \ldots \to 2$$Где здесь ошибаются
Остановить цикл сразу после исчезновения цепочки $11111$.
Считать, что замена $888$ на $8$ удаляет только одну цифру.
Записать количество цифр вместо самой полученной строки.