Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах и
обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
. Например, выполнение команды
заменить
преобразует строку в строку
.
Если в строке нет вхождений цепочки , то выполнение команды заменить
не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Дана программа для редактора:
НАЧАЛО
ПОКА нашлось
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
В результате работы программы к строке получилась строка, в которой содержится
цифр
. Сколько цифр
было в изначальной строке?
for i in range(100):
n = ’1’ * 30 + ’2’ * i + ’3’ * 6
while ’12’ in n:
n = n.replace(’12’, ’2’, 1)
n = n.replace(’23’, ’3’, 1)
if n.count(’2’) == 35:
print(i)
break