Решение: Исполнитель Редактор
Исполнитель Редактор получает на вход строку, начинающуюся с символа «>», а затем содержащую 15 цифр 1, 20 цифр 2 и 16 цифр 3, расположенных в произвольном порядке. Редактор выполняет программу:
ПОКА нашлось(>1) ИЛИ нашлось(>2) ИЛИ нашлось(>3)
ЕСЛИ нашлось(>1) ТО заменить(>1, 22>) КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(>2) ТО заменить(>2, 2>) КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(>3) ТО заменить(>3, 1>) КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
Команда заменить(v, w) заменяет первое слева вхождение цепочки v на цепочку w. Команда нашлось(v) проверяет наличие цепочки v в строке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
Решение по шагам
4 шагаСимвол «>» перемещается вправо по строке. При обработке цифры 1 команда заменяет цепочку $>1$ на $22>$, поэтому каждая исходная цифра 1 даёт две цифры 2 и увеличивает сумму на 4.
$$15 \cdot (2 + 2) = 60$$При обработке цифры 2 цепочка $>2$ заменяется на $2>$, поэтому цифра 2 сохраняется и даёт вклад 2.
$$20 \cdot 2 = 40$$При обработке цифры 3 цепочка $>3$ заменяется на $1>$. Получившаяся цифра 1 остаётся слева от символа «>» и повторно не обрабатывается, поэтому каждая исходная цифра 3 даёт вклад 1.
$$16 \cdot 1 = 16$$Складываем вклады всех исходных цифр.
$$60 + 40 + 16 = 116$$Где здесь ошибаются
Считать, что цифра 1, полученная из цифры 3, затем снова заменяется на две цифры 2.
Забыть, что замена цифры 1 на 22 увеличивает сумму на 4.
Учитывать только количество цифр, не суммируя их числовые значения.