Автор | Сообщение |
|
Отправлено: 12.03.22 18:17. Заголовок: 12 Задание N3433 - не сошелся ответ
12 Задание N3433: Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (555) ИЛИ нашлось (333) ЕСЛИ нашлось (333) ТО заменить (333, 5) ИНАЧЕ заменить (555, 3) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Дана строка, состоящая из 500 цифр 5. Сколько троек было удалено за время обработки строки по этой программе? Решение на языке Python: 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) Ответ получается 183, а в ответе- 186. Что не так?
|
|
|
Новых ответов нет
[см. все]
|
|
|
| Администратор
|
Сообщение: 3372
|
|
Отправлено: 12.03.22 19:05. Заголовок: Во втором replace за..
Во втором replace забыли единичку.
|
|
|
|
Отправлено: 12.03.22 19:50. Заголовок: Точно! Спасибо, а то..
Точно! Спасибо, а то я обыскался уже, а найти проблему не мог
|
|
|
|