Преобразование строки редактором
Исполнитель «Редактор» получает на вход строку цифр. Команда заменить(v, w) заменяет первое слева вхождение цепочки v на цепочку w. Команда нашлось(v) проверяет наличие цепочки v в строке, не изменяя её. Если условие цикла ложно, цикл завершается.
Какая строка получится в результате применения программы к строке, состоящей из 100 идущих подряд цифр 1?
НАЧАЛО
ПОКА нашлось(111) ИЛИ нашлось(88888)
ЕСЛИ нашлось(111)
ТО заменить(111, 88)
ИНАЧЕ заменить(88888, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Условие как в банке ФИПИ — открыть и сверить
| Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 100 идущих подряд цифр 1? В ответе запишите полученную строку.
НАЧАЛО ПОКА нашлось (111) ИЛИ нашлось (88888) ЕСЛИ нашлось (111) ТО заменить (111, 88) ИНАЧЕ заменить (88888, 8) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ | |||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Сначала проследите, сколько раз можно заменить фрагмент 111, пока в строке остаются три единицы подряд.
2Наводящая — какие числа считатьуровень 2 из 3
Каждая замена 111 на 88 уменьшает число единиц на 3 и добавляет две цифры 8. После этого обрабатывается цепочка из цифр 8.
3Прямая — фактически решениеуровень 3 из 3
100 единиц превращаются после 33 замен в 66 цифр 8 и одну цифру 1. Замены 88888 на 8 сокращают цепочку из 66 восьмёрок до двух восьмёрок, поэтому результат — 881.