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

вопрос по условию задачи 12

elena.moshkevich: (№ 4633) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор: ПОКА нашлось (555) ИЛИ нашлось (888) заменить (555, 8) заменить (888, 55) КОНЕЦ ПОКА Известно, что начальная строка состоит только из цифр 8. Сколько различных строк может получиться в результате работы алгоритма? У меня получается 8 различных вариантов{'55', '8588', '858', '8', '558', '5588', '85', '88'}. но это при условии, что я беру строку из 1-ой 8-ки. В условии 8ки во множественном числе и значит минимальное количество 8-к два? [pre2]def obr(s): while "555" in s or "888" in s: s = s.replace("555","8",1) s = s.replace("888", "55", 1) return s rez = set() for i in range(1,1000): rez.add(obr("8" * i)) print(rez) print(len(rez))[/pre2]

Ответов - 1

Поляков: Спасибо, вы правы. Добавил уточнение в условие (цифр 8 не менее двух).



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