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

Задание 5(№1757)

Oli: Подскажите как решить это задачу на питоне Автомат обрабатывает натуральное число N < 256 по следующему алгоритму: 1) Строится восьмибитная двоичная запись числа N. 2) Инвертируются все разряды исходного числа (0 заменяется на 1, 1 на 0). 3) Полученное число переводится в десятичную систему счисления. 4) Из нового числа вычитается исходное, полученная разность выводится на экран. Для какого значения N результат работы алгоритма равен 99?

Ответов - 2

nikson: [pre2] for N in range(1,255+1): x = bin(N)[2:] n = len(x) x = "0"*(8-n) + x #добавили нули newX = "" for c in x: if c == "0": newX += "1" else: newX += "0" a = int(newX,2) - N if a == 99: print(N) [/pre2]

polyakovss: Короткая программа: [pre2] R = 99 print((255-R)//2)[/pre2] Программа, аналогичная приведенной в Сообщении 157: [pre2] for n in range(1,255+1): n1 = f'{n:08b}' n2 = '' for k in range(8): n2 = n2 + ('1' if n1[k] == '0' else '0') if (int(n2,2) - n) == 99: print(n) break[/pre2]



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