OpenFIPI 2.0
15
3
0D2048
На числовой прямой даны два отрезка: P = [25; 64] и Q = [40; 115]. Укажите наименьшую возможную длину такого отрезка A, что логическое выражение
(x ∈ P) → (((x ∈ Q) /\ ¬(x ∈ A)) → ¬(x ∈ P))
истинно (т.е. принимает значение 1) при любом значении переменной х.
24
def f(x,a1,a2):
P = 25<= x <= 64
Q = 40 <= x <= 115
A = a1 <= x <= a2
return P <= ((Q and not A)<= (not P))
ox = []
for x in 25, 64, 40, 115:
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))
Просмотреть отправленные ответы 0D2048