Решение задачи техникой http://kpolyakov.spb.ru/download/bitwise2.pdf
¬Z(120) => (Z(96) => ¬A) =1
Z(120) + ¬Z(96) + ¬A =1
Z(96)^A => Z(120) =1
Z(96 or a) => Z(120) =1
Добавляем к 96 недостающие биты
120 =1111000
96 =1100000 => 1111000
================================
A(min) = 11000 (binary) = 24 (decimal)
Далее следует решение по https://examer.ru/app/inf/egenum/350/quiz
В действительности, решaется совсем другая задача
(X &120 ≠ 0) → ((X &96 ≠ 0) → (X &A ≠ 0)) ≡ 1
а именно :-
¬Z(120) => ( ¬Z(96) => ¬A) ≡ 1
Bitwise2 shut
================================
Z(120) v Z(96) v ¬A ≡ 1
A => ( Z(120) + Z(96)) ≡ 1
(A=>Z(120) v (A=>Z(96)) ≡ 1
A(min) = 96
================================
Возвращаемся к Examer.com "out dated logic"
Преобразуем исходное выражение, выразив импликацию через дизъюнкцию: (X &120 ≠ 0) → ((X &96 ≠ 0) → (X &A ≠ 0)) ≡
≡ ¬(X &120 ≠ 0) ∨ ¬(X &96 ≠ 0) ∨ (X &A ≠ 0) ≡
≡ (X &120 = 0) ∨ (X &96 = 0) ∨ (X &A ≠ 0).
Переведём заданные числа в двоичную систему счисления 12010 = 11110002, 9610 = 11000002.
Определим те значения X, при которых истинно выражение (X &120 = 0):
В десятичной системе В двоичной системе
X ∗ ∗ ∗ ∗ ∗ ∗ ∗
120 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0
Расставим в этом выражении вместо символов «*» цифры 0 или 1 на тех местах, где результат побитового умножения определяется однозначно. Получим
В десятичной системе В двоичной системе
X 0 0 0 0 ∗ ∗
120 ∗1 1 1 1 0 0 0
0 0 0 0 0 0 0 0
Числа X , удовлетворяющие выражению (X &120 = 0), в двоичной системе счисления должны иметь вид 0000 ∗ ∗∗, где вместо «*» могут стоять 0 или 1.
Теперь определим те значения X , при которых истинно выражение X &96 = 0:
В десятичной системе В двоичной системе
X 0 0 ∗ ∗ ∗ ∗ ∗
96 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0
Числа X , удовлетворяющие выражению (X &96 = 0), в двоичной системе счисления должны иметь вид 00 ∗ ∗ ∗ ∗∗, где вместо «*» могут стоять 0 или 1.
Таким образом, числа, удовлетворяющие дизъюнкции (X &120 = 0) ∨ (X &96 ≠ 0), имеют вид 00 ∗ ∗ ∗ ∗∗.
Обозначим через S минимальное множество чисел X , при котором истинно выражение (X &A ≠ 0).
Следовательно, чтобы истинным было выражение (X &120 = 0) ∨ (X &96 = 0) ∨ (X &A ≠ 0),
множество S должно состоять из элементов вида: 10 ∗ ∗ ∗ ∗∗, 01 ∗ ∗ ∗ ∗∗, 11 ∗ ∗ ∗ ∗∗.
Для найденных значений X определим те значения A, при которых истинно выражение X &A ≠ 0 (так как побитовая конъюнкция должна быть отлична от нуля, то на тех местах, где в числе X находятся 1, в числе A также должна быть хотя бы одна 1). То есть числа A должны иметь вид: 1 ∗ ∗ ∗ ∗ ∗ ∗, ∗1 ∗ ∗ ∗ ∗∗, 11 ∗ ∗ ∗ ∗∗.
Из найденных чисел A выберем наименьшее, при котором выражение X &A ≠ 0 будет истинным для всех X ∈ S. Таким числом A в двоичной системе является 1100000.
11000002 = 9610.
Ответ: 96