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

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

((x&937 ⁄= 0)∨ (x&78 ⁄= 0)) −→ (x&A ⁄= 0)

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

for a in range(1, 1500):
    # Переменная-флаг,
    # которой присваивается 1, если хотя бы одно выражение выдаёт ложь
    f = 0
    for x in range(1, 5000):
        # Если выражение ложно(нам нужны только истинные),
        # то приостанавливаем цикл
        if (((x & 937 != 0) or (x & 78 != 0)) <= (x & a != 0)) == False:
            f = 1
            break
    # Так как ищем минимальное значение,
    # то сразу же после его нахождения прерываем цикл
    if f == 0:
        print(a)
        break

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