Преобразование строки Редактором
Исполнитель Редактор получает на вход строку из 180 цифр, содержащую по 60 цифр 4, 6 и 8, расположенных в произвольном порядке. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки цифр v на цепочку w. Команда «нашлось (v)» проверяет, встречается ли цепочка v в строке. Если вхождения нет, команда замены строку не изменяет.
Программа выполняется до тех пор, пока в строке встречается хотя бы одна из цепочек 46, 84 или 86:
НАЧАЛО
ПОКА нашлось (46) ИЛИ нашлось (84) ИЛИ нашлось (86)
ЕСЛИ нашлось (46)
ТО заменить (46, 64)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (84)
ТО заменить (84, 48)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (86)
ТО заменить (86, 68)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Определите, какие цифры будут находиться на 25-м, 75-м и 150-м местах строки, получившейся после выполнения программы. Цифры в строке нумеруются слева направо, начиная с 1.
Условие как в банке ФИПИ — открыть и сверить
| Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). На вход приведённой ниже программы поступает строка из 180 цифр, содержащая по 60 цифр 4, 6 и 8, расположенных в произвольном порядке. Определите, какие цифры будут находиться на 25-м, 75-м и 150-м местах строки, получившейся в результате выполнения программы. Цифры в строке нумеруются последовательно слева направо, самая левая имеет номер 1, следующая номер 2 и т.д. В ответе запишите три полученные цифры подряд без пробелов и разделителей в порядке возрастания номеров их мест в получившейся строке. Так, например, если бы на 25-м месте стояла цифра 1, на 75-м 2, а на 150-м 3, то был бы ответ 123.
НАЧАЛО ПОКА нашлось (46) ИЛИ нашлось (84) ИЛИ нашлось (86) ЕСЛИ нашлось (46) ТО заменить (46, 64) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (84) ТО заменить (84, 48) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (86) ТО заменить (86, 68) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
| |||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Рассмотрите каждую замену как перестановку соседних цифр.
2Наводящая — какие числа считатьуровень 2 из 3
Замены 46 → 64, 84 → 48 и 86 → 68 устраняют запрещённые пары и приводят цифры к единому порядку.
3Прямая — фактически решениеуровень 3 из 3
В итоговой строке сначала идут 60 цифр 6, затем 60 цифр 4, затем 60 цифр 8. Поэтому на местах 25, 75 и 150 стоят соответственно 6, 4 и 8.