На числовой прямой даны два отрезка: P = [15; 40] и Q = [21; 63]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))
истинно (т. е. принимает значение 1) при любом значении переменной х.
Введем обозначения:
Тогда, применив преобразование импликации, получаем:
Данное выражение будет истинно на отрезках
В таком случае, для того, чтобы выражение было истинно при
Ответ: 19.
Приведём решение Сергея Корчажкина на языке Python.
p = list(range(15,41))
q = list(range(21,64))
mn = 100
for b in range(15,64):
for e in range(15, 64):
a = list(range(b,e+1))
if all([(x in p) <=(((x in q) and (x not in a)) <= (x not in p)) for x in range(1,100)]):
mn = min(mn,a[-1]-a[0])
print(mn)

