Форум » Выполнение и анализ алгоритмов для исполнителей » 12 Задание N3433 - не сошелся ответ » Ответить

12 Задание N3433 - не сошелся ответ

MineWon: 12 Задание N3433: Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (555) ИЛИ нашлось (333) ЕСЛИ нашлось (333) ТО заменить (333, 5) ИНАЧЕ заменить (555, 3) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Дана строка, состоящая из 500 цифр 5. Сколько троек было удалено за время обработки строки по этой программе? Решение на языке Python: [pre2] s = "5"*500 count = 0 while s.count("555") or s.count("333"): if s.count("333"): count+=3 s = s.replace("333","5",1) else: s=s.replace("555","3") print(count) [/pre2] Ответ получается 183, а в ответе- 186. Что не так?

Ответов - 2

Поляков: Во втором replace забыли единичку.

MineWon: Точно! Спасибо, а то я обыскался уже, а найти проблему не мог



полная версия страницы