№15
Примеры решений прототипа №2
Алгебра логики повышенной сложности
ПРИМЕР РЕШЕНИЯ
№ 16833 (Уровень: Базовый)
(Л. Шастин) На числовой прямой даны два отрезка: \(P = [25, 73]\) и \(Q = [75, 118]\). Укажите наибольшую возможную длину такого отрезка A, для которого логическое выражение
\(( (x ∈ A) ∧ ¬ (x ∈ Q)) → ( (x ∈ P) ∨ (x ∈ Q) )\)
тождественно истинно (т.е. принимает значение 1) при любом значении переменной x.
def f(x):
P = 25 <= x <= 73
Q = 75 <= x <= 118
A = a1 <= x <= a2
return (A and (not Q)) <= (P or Q)
# d = []
# for x in [25, 73, 75, 118]:
# d.append(x)
# d.append(x + 0.1)
# d.append(x - 0.1)
d = [y for x in [25,73,75,118] for y in [x, x + 0.1, x - 0.1]]
res = []
for a1 in d:
for a2 in d:
if a2 > a1 and all(f(x) for x in d):
res.append(a2 - a1)
print(round(max(res)))