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

задание 14

ЕленаСер: Как решать 202, 203, 205? Для продолжения цикла не хватает единиц.

Ответов - 4

cabanov.alexey: Единицы и тройки обрабатываются по разному. Тройки будут просто переводиться в единицы. В дополнении я проверил 202, 203, 205. [Ред.] В 202, 203 и 205 ответ сходится Код для проверки 202 ответа [pre2]s=2019*'1'+2119*'3' while s.find('11')!=-1: s = s.replace('11','2',1) s = s.replace('22','3',1) s = s.replace('33','1',1) print(s)[/pre2]

polyakovss: Здравствуйте! cabanov.alexey пишет: В 202 получается 1 Код для проверки 202 ответа s=2019*'1'+2019*'3' В условии задачи 2019 единиц и 2119 троек. Ответ 313 - правильный ответ. Ответ: 313.

polyakovss: Здравствуйте, Елена Серебрякова! Не все задачи решаются одним и тем же способом. Чтобы обратили на это внимание, были предложены рассматриваемые задачи. Решим задачу 202. Вы пишете: Для продолжения цикла не хватает единиц. 1) С самого начала решения видно, что при приведении строки к прежнему виду (1..13..3) количество "1" уменьшается на 4, а количество "3" одновременно уменьшается на 6. 2) Уменьшение "3" до минимума произойдет за (2119 div 6) = 353 цикла. Останется одна "3" (2119 mod 6 = 1). При этом количество "1" уменьшится на 4*353 = 1412. Таким образом, количество "1" в строке на этот момент составит 2019 - 1412 = 607. Получилась строка: 607 "1" и одна "3" в конце. Так что единиц хватает. 3) Теперь при повторении вида строки (сначала единицы и в конце одна "3") количество "1" будет уменьшаться на 7. 607 mod 7 = 5. Получится строка 111113, которая при обработке алгоритмом задачи и даст ответ 313. Ответ: 313.


ЕленаСер: Спасибо! Поняла.



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