Обозначим через поразрядную конъюнкцию неотрицательных целых чисел
и
. Так, например,
Для какого наименьшего целого числа
формула
тождественно истинна (т. е. принимает значение при любом неотрицательном целом значении переменной
)?
Преобразуем выражение к виду с помощью законов де Моргана:
Заметим, что если , то последнее выражение всегда
, а следовательно последняя скобка всегда
, то есть выражение имеет вид:
, а это всегда истинно.
Нам нужно минимальное неотрицательное целое число , значит наш ответ
.
Решение программой:
for a in range(1000):
fl = 0
for x in range(1000):
if ((x & a != 0) <= ((x & 10 == 0) <= (x & 5 != 0))) == 0:
fl = 1
break
if not fl:
print(a)
break