Информатика: ОГЭ и ЕГЭ

Тренировка ЕГЭ · задание 15 · поразрядная конъюнкция

Задание 15 ЕГЭ: поразрядная конъюнкция

Поразрядная конъюнкция: наименьшее или наибольшее A. Тема номера — логические выражения с параметром. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.

Пример

Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n. Так, например, 14 & 5 = 11102 & 01012 = 01002 = 4.

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

((x & 58 ≠ 0) ∧ (x & 33 = 0)) → (x & A ≠ 0)

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

Ответ26

Решение

В числах 58 и 33 не больше семи двоичных разрядов, поэтому выражение зависит только от младших восьми бит x, и достаточно перебрать x и A от 0 до 255. 58 = 1110102, 33 = 1000012; при ответе A = 26 = 110102 условие выполняется для всех x.

Ответ: 26.

def f(x, A):
    return not ((x & 58 != 0) and (x & 33 == 0)) or (x & A != 0)

good = [A for A in range(256) if all(f(x, A) for x in range(256))]
print(min(good))

Решить такую задачу — новый вариант с проверкой

Задание 15 ЕГЭ: другие виды

Все задачи задания 15 вперемешку · разбор: как решать задание 15 · пробные варианты ЕГЭ