Форум » Выполнение и анализ алгоритмов для исполнителей » Тип 12 № 319 (№ 5914) (А. Игнатюк) » Ответить

Тип 12 № 319 (№ 5914) (А. Игнатюк)

Zay-U: Дана программа для Редактора: ПОКА нашлось (31) ИЛИ нашлось (33) ИЛИ нашлось (21) ЕСЛИ нашлось (31) ТО заменить (31, 123) КОНЕЦ ЕСЛИ ЕСЛИ нашлось(33) ТО заменить (33, 211) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (21) ТО заменить (21, 1) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА На вход программы поступает строка, содержащая сначала 15 цифр 3, затем 18 цифр 2, а затем n цифр 1 (n > 0). При каком минимальном значении n в строке, полученной в результате работы программы, сумма цифр будет более 24? При решении задачи получаем такие результаты: n сумма 1 56 6 25 8 27 10 29 ... При n=1 уже получаем больше 24, а при N=6 ближайшее к 24 число. Так что же надо дать в ответ?

Ответов - 2

Aleksey6819: [pre2]for n in range(1,1000): x = '3' * 15 + '2' * 16 + '1' * n while ('31' in x) or ('33' in x) or ('21' in x): if '31' in x: x=x.replace('31','123',1) if '33' in x: x=x.replace('33','211',1) if '21' in x: x=x.replace('21','1',1) if x.count('1')+x.count('2') *2+x.count('3')*3>24: print(n) break[/pre2]

Zay-U: Спасибо. Решение такое же, в исходной строке ошиблась



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