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

Ошибка в задаче 1780

Ki: 1) Строится двоичная запись числа N. 2) К этой записи дописывается (дублируется) последняя цифра. 3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное. 4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным. Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого автомат получает число, большее 90. В ответе это число запишите в десятичной системе. [pre2] for i in range (1000): n = bin(i) [2:] r = n + n[-1] if (r.count('1') % 2 == 0): r = r + '0' else: r = r + '1' if (r.count('1') % 2 == 0): r = r + '0' else: r = r + '1' if (int(r, 2) > 90) : print(i) [/pre2] Выводит наименьшее 14, а в ответе 11. Где ошибка?

Ответов - 1

Поляков: Ki пишет: Где ошибка? В отступах точно есть.



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