Задача к ЕГЭ по информатике на тему «побитовая конъюнкция» №1

Введём выражение M &K,  обозначающее поразрядную конъюнкцию M  и K  (логическое «И» между соответствующими битами двоичной записи). Определите наименьшее натуральное число a  , такое что выражение

(x &125 ⁄= 1)∨ ((x&34 = 2) → (x&a = 0))

тождественно истинно (то есть принимает значение 1  при любом натуральном значении переменной x  )?

def f(a):
    for x in range(1, 1000):
        if ((x & 125 != 1) or ((x & 34 == 2) <= (x & a == 0))) == 0:
            return False
    return True

for a in range(1, 1000):
    if f(a):
        print(a)
        break

Ответ: 4
Оцените статью
Я решу все!