Исполнитель Редактор получает на вход строку цифр и
преобразовывает её. Редактор может выполнять две команды, в
обеих командах v и w обозначают цепочки цифр:
· заменить (v, w),
· нашлось (v).
Первая команда заменяет в строке первое слева вхождение
цепочки v на цепочку w. Если цепочки v в строке нет, эта команда
не изменяет строку. Вторая команда проверяет, встречается ли
цепочка v в строке исполнителя Редактор.
На вход приведённой ниже программе поступает строка,
начинающаяся с символа >, а затем содержащая 10 цифр 1, 20
цифр 2 и 30 цифр 3, расположенных в произвольном порядке.
Определите сумму числовых значений строки, получившейся в
результате выполнения программы.
Answers & Comments
Ответ: 110.
Код на языке Python:
string = ">"
string += "1" * 10 + "2" * 20 + "3" * 30
print("Исходная строка: ", string)
# Исполнитель "Редактор"
while ">1" in string or ">2" in string or ">3" in string:
if ">1" in string:
string = string.replace(">1", "22>")
if ">2" in string:
string = string.replace(">2", "2>")
if ">3" in string:
string = string.replace(">3", "1>")
# Подсчет суммы числовых значений строки
total_sum = sum(int(char) for char in string if char.isdigit())
print("Итоговая строка:", string)
print("Сумма числовых значений:", total_sum)