OpenFIPI 2.0
15
3
D5D16C
На числовой прямой даны два отрезка: P = [17; 58] и Q = [29; 80]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
(x ∈ P) → (((x ∈ Q) /\ ¬(x ∈ A)) → ¬(x ∈ P))
истинно (т.е. принимает значение 1) при любом значении переменной х.
29
def f(x,a1,a2):
P = 17 <= x <= 58
Q = 29 <= x <= 80
A = a1 <= x <= a2
return P <= ((Q and not A) <= (not P))
ox = []
for x in 17, 58, 29, 80:
for dx in x - 0.01, x , x + 0.01:
ox.append(dx)
m = []
for a1 in ox:
for a2 in ox:
if a2 > a1 and all(f(x,a1,a2) == 1 for x in ox):
m.append(a2 - a1)
print(min(m))
Просмотреть отправленные ответы D5D16C