Исполнитель ХИ-ХИ получает на вход строку цифр и преобразовывает её. ХИ-ХИ может выполнять две команды, в обеих командах и
обозначают цепочки символов.
1.
2.
Дана программа для исполнителя ХИ-ХИ:
Найдите произведение цифр строки, для полученной в результате применения приведённой выше программы к строке
Решение ручками:
Начнем работу нашего алгоритма. Так как в исходной строке мы нашли , то заменим
на
.
Получим строку
На данной итерации цикла строка больше меняться не будет, идем дальше. Вновь встречаем , можем заметить, что если встречается
, то количество
уменьшается на один, а количество
остается неизменным, тогда можем выполнить это дейстие еще 99 раз, пока у нас не закончатся
.
Получим строку
Так как у нас уже нет комбинаций , проверяем следующие условия: нет ни одного подходящего, значит, завершаем работу алгоритма.
Запишем в ответ произведение элементов полученной после работы алгоритма строки: . Запишем в ответ данное значение.
Решение прогой:
s = "1" * 1 + "0" * 100 + "3" * 3
while "10" in s or "11" in s or "330" in s:
if "10" in s:
s = s.replace("10", "1", 1)
elif "11" in s:
s = s.replace("11", "3", 1)
elif "330" in s:
s = s.replace("330", "100", 1)
arr = [int(i) for i in s]
for i in range(len(arr) - 1):
arr[i + 1] *= arr[i]
print(arr[-1])