Исполнитель Кубик получает на вход строку цифр и преобразовывает её. Кубик может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Кубик. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Дана программа для исполнителя Кубик:
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
ЕСЛИ нашлось
ТО заменить
ИНАЧЕ ЕСЛИ нашлось
ТО заменить
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось
ТО заменить
ИНАЧЕ ЕСЛИ нашлось
ТО заменить
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Найдите сумму цифр в строке, полученной в результате применения приведённой выше программы к строке:
s = ’5’*60 + ’4’*30 + ’2’*90 + ’7’*120
while ’54’ in s or ’27’ in s:
if ’55’ in s:
s = s.replace(’55’, ’2’, 1)
elif ’22’ in s:
s = s.replace(’22’, ’7’, 1)
if ’44’ in s:
s = s.replace(’44’, ’4’, 1)
elif ’77’ in s:
s = s.replace(’77’, ’7’, 1)
r = sum([int(i) for i in s])
print(r)