Обозначим через поразрядную конъюнкцию неотрицательных целых чисел
и
Так, например,
Для какого наименьшего целого числа формула
тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной )?
Решение руками:
Враги хотят подобрать такой, что
. Тогда на всех разрядах где у 65 единички будут нули и в одном из разрядов или в двух одновременно (где у 65 в двоичной записи нули, а у 91 единички) будут единички. Во всех остальных разрядах будут нули чтобы была больше вероятность истинности
.
Тогда друзья чтобы поставят единички где они гарантированно могут появится в
. Это будет число
.
Решение программой:
def f(a):
for x in range(1, 1000):
if ((x & 65 == 0) <= ((x & 91 != 0) <= (x & a != 0))) == 0:
return False
return True
for a in range(1, 1000):
if f(a):
print(a)
break