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

ege12-220

timsc1: К исходной строке, содержащей не более 100 троек и не содержащей других символов, применили приведённую ниже программу. НАЧАЛО ПОКА нашлось (333) заменить (333, 4) заменить (4444, 3) КОНЕЦ ПОКА КОНЕЦ В результате получилась строка 43. Какое наибольшее количество троек могло быть в исходной строке? Делаю так: for i in range(1,100): s="3"*i while "333" in s: s=s.replace("333","4") s=s.replace("4444","3") if s=="43": print(i) Выдаёт ответы: 4 26 37 48 т.е. наибольшее 48 В ответах 92. Если сформировать строку из 92 троек, то после алгоритма не будет строка "43" Где ошибка?

Ответов - 4

polyakovss: s=s.replace("333","4",1) s=s.replace("4444","3",1)

timsc1: polyakovss Спасибо!

xacker228: у меня такой же абсолютно код но мне вообще ничего не выводит, в чем беда?


Ж: Вот такой же код с поправкой, вполне рабочий [pre2] for i in range(1,100): s="3"*i while "333" in s: s=s.replace("333","4",1) s=s.replace("4444","3",1) if s=="43": print(i) [/pre2]



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