Форум » Выполнение и анализ алгоритмов для исполнителей » (№ 2112) (А. Кабанов) » Ответить

(№ 2112) (А. Кабанов)

Кэйт: Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». К исходной строке, содержащей не более 100 единиц и не содержащей других символов, применили приведённую ниже программу. НАЧАЛО ПОКА нашлось (111) заменить (111, 2) заменить (222, 3) заменить (333, 1) КОНЕЦ ПОКА КОНЕЦ В результате получилась строка 321. Сколько различных значений количества единиц может быть в исходной строке? Не могу решить. Как я понимаю, если взять произвольное кол-во единиц, то каждый раз будет сокращаться на 26 единиц. Строчка 321 -222111333-39 единиц

Ответов - 4

cabanov.alexey: 321 = 22221 = 111 111 111 111 1 из 13 единиц 13, 39, 65, 91 единицы дадут такой же результат

romad: 39 единиц в исходной строке после выполнеия алгоритма дадут строку 132 65 единиц - строку: 11311 91 единица - строку 231 Как понимать эти результаты? Проверено программой и вручную

cabanov.alexey: romad пишет: Как понимать эти результаты? Проверено программой и вручную Везде получается 321, вы выполняете этот алгоритм неверно


romad: Нашла ошибку - s.replace('111','2',1) не указала, что только одна замена. Спасибо!



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