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

Обозначим через a&b  поразрядную конъюнкцию неотрицательных целых чисел a и b.

Так, например, 16&18 = 100002&100102 = 1610.

Для какого наименьшего неотрицательного целого числа А формула

(x&144 = 0) → (x&220 ⁄= 0 → x&A ⁄= 0)

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

def f(a):
    for x in range(1, 1000):
        if ((x & 144 == 0) <= ((x & 220 != 0) <= (x & a != 0))) == 0:
            return False
    return True

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

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