OpenFIPI 2.0

Редактировать CCFE3B

На числовой прямой даны два отрезка: P = [117; 158] и Q = [129; 180]. Укажите наименьшую возможную длину такого отрезка A, что формула

(x  P) → (((x  Q) /\ ¬(x  A)) ¬(x  P))

истинна, т.е. принимает значение 1 при любом значении переменной х.

Комментарии

from itertools import * def f(x): p = 117 <= x <= 158 q = 129 <= x <= 180 a = a1 <= x <= a2 return p <= ((q and (not a)) <= (not p)) Ox = [i/4 for i in range(116*4, 181*4)] ans=[] for a1, a2, in combinations(Ox, 2): if all(f(x) for x in Ox): ans.append(a2-a1) print(min(ans))