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

Задача 3521

shervlad: Добрый день. Не сходится ответ в задаче. У меня получается 41, в ответе указано 42.\ Вот мое решение: [pre2] for n in range(1000,1,-1): r = bin(n)[2:] for _ in range(2): if n % 2 == 0: r += '1' else: r += '0' if int(r,2) < 171: print(n) break [/pre2] И еще вопрос, почему для числа 9 в примере получается 100101? Число 9 нечетное, значит 2 раза должен приписаться 0, то есть должно получиться 100100. В условии ошибка или я понял его как-то не так?

Ответов - 4

Поляков: shervlad пишет: Число 9 нечетное, значит 2 раза должен приписаться 0 Нет, после первого добавления бита чётность числа изменилась.

shervlad: Но ведь в условии сказано: "если N чётное, в конец числа (справа) приписывается 1, в противном случае справа приписывается 0." Нигде не говорится про то, что второй раз алгоритм работает с изменившимся числом. Может быть, есть смысл немного изменить формулировку условия?

Поляков: Согласен с вами. Я поправил условие.


shervlad: Благодарю



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