Форум » Выполнение и анализ алгоритмов для исполнителей » 1779 (№5 ким) - неправильный ответ » Ответить

1779 (№5 ким) - неправильный ответ

Korsvold: эти функции я использовал для решения задачи: [pre2] def task_alg(n): a = (str(bin(n)))[2:] a = list(a) a.append(a[len(a)-1]) co = 0 for i in a: if i == '1': co += 1 if co % 2 == 0: a.append('0') else: a.append('1') co += 1 if co % 2 != 0: a.append('1') else: a.append('0') return a def l_concat(s): tmp = '' for i in s: tmp += i return tmp [/pre2] task_alg() - выполняет основные действия алгоритма и дает на выход массив (список) битов двоичного представления результата алгоритма l_concat() - складывает список в строку пусть n число, обрабатываемое алгоритмом, тогда результат алгоритма вычисляется следующим образом: result = int(('0b'+l_concat(task_alg( n ))),2) обычным перебором значения n в [0,+inf) первым результатом, удволетворяющим условию result > 105, будет n = 13 и result = 108, a при n = 13 result = 96, значит ответ 108. Но в ответе к заданию получен ответ 111. Я считаю, что этот ответ неверный по двум причинам. Первая изложена выше. Вторая: при n = 14 мы получаем result = 114, а это означает, что несуществует целочисленного n, для которого result = 111

Ответов - 2 новых

Поляков: Вы обратили внимание на фразу, которая в условии выделена жирным шрифтом?

Korsvold: Да обратил.



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