Решение: Редактор и преобразование строки
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Команда «заменить (v, w)» заменяет в строке первое слева вхождение цепочки v на цепочку w. Команда «нашлось (v)» проверяет, встречается ли цепочка v в строке, не изменяя строку. Цикл ПОКА выполняется, пока условие истинно.
На вход программе поступает строка, начинающаяся с символа «>», а затем содержащая 11 цифр 1, 12 цифр 2 и 30 цифр 3, расположенных в произвольном порядке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
НАЧАЛО
ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)
ЕСЛИ нашлось (>1)
ТО заменить (>1, 22>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>2)
ТО заменить (>2, 2>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>3)
ТО заменить (>3, 1>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение по шагам
5 шаговПорядок цифр во входной строке не влияет на итоговое количество цифр: символ «>» последовательно обрабатывает каждую цифру.
Каждая цифра 1 заменяется двумя цифрами 2. Поэтому 11 единиц дают $11 \cdot 2 = 22$ двойки.
$$1 \to 22$$Каждая цифра 2 заменяется одной цифрой 2. Поэтому 12 двоек дают 12 двоек.
$$2 \to 2$$Каждая цифра 3 заменяется одной цифрой 1. Поэтому 30 троек дают 30 единиц.
$$3 \to 1$$В результирующей строке 34 цифры 2 и 30 цифр 1. Находим сумму их числовых значений.
$$34 \cdot 2 + 30 \cdot 1 = 68 + 30 = 98$$Где здесь ошибаются
Считать, что цифра 1 после замены снова обрабатывается.
Учитывать порядок цифр во входной строке, хотя он не влияет на сумму.
Забыть, что каждая цифра 1 превращается именно в две цифры 2.