Задания
Версия для печати и копирования в MS WordНа числовой прямой даны два отрезка: P = [7; 68] и Q = [23; 42]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
¬(x ∈ A) → (((x ∈ Q) ∧ (x ∈ P)) → (x ∈ A))
истинно (т. е. принимает значение 1) при любом значении переменной х.
Решение.
Приведём решение данной задачи на языке Python.
from itertools import combinations as c
P, Q = range(7, 68), range(23, 42)
li = [range(*x) for x in c((7, 23, 42, 68), 2)]
mi = 1000
for A in li:
if all((not (x in A)) <= (((x in Q) and (x in P)) <= (x in A))\
for x in range(-3000, 3000)):
mi = min(mi, len(A))
print(mi)
Ответ: 19.

