Решение: Редактор и цепочки цифр
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки v на цепочку w. Команда «нашлось (v)» проверяет наличие цепочки v в строке, не изменяя её. Цикл выполняется, пока условие истинно.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (25) ИЛИ нашлось (355) ИЛИ нашлось (555)
ЕСЛИ нашлось (25)
ТО заменить (25, 5)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (355)
ТО заменить (355, 52)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (555)
ТО заменить (555, 3)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход программе поступает строка, начинающаяся с цифры «2», а затем содержащая $n$ цифр «5» ($n > 3$). Определите наименьшее значение $n$, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 17.
Решение по шагам
3 шагаДля каждого значения $n$ моделируем выполнение программы над строкой $2\underbrace{55\ldots5}_{n\text{ цифр}}$, учитывая, что за одну проверку заменяется только первое слева вхождение каждой из цепочек.
После завершения цикла подсчитываем сумму цифр получившейся строки и сравниваем её с 17.
При последовательной проверке значений $n > 3$ первое значение, для которого сумма цифр равна 17, — $n = 29$; меньшие значения требуемой суммы не дают.
$$n=29$$Где здесь ошибаются
Выполнять замены всех вхождений цепочки вместо только первого слева.
Менять порядок выполнения трёх условных операторов.
Продолжать цикл после исчезновения всех цепочек $25$, $355$ и $555$.