
На числовой прямой даны два отрезка:
A) → (x
P)) → ((x
A) → (x
Q))
тождественно истинна, то есть принимает
Решение. Преобразуем данное выражение:
(¬ (x A) → (x
P)) → ((x
A) → (x
Q))
((x A) ∨ (x
P)) → ((x
A) ∨ (x
Q))
¬((x A) ∨ (x
P)) ∨ ((x
A) ∨ (x
Q))
(x A) ∧ (x
P) ∨ (x
A) ∨ (x
Q)
(x A) ∨ (x
Q).
Таким образом, либо
Ответ: 15.
Примечание.
О длине отрезка написано в примечании к задаче 11119.
Приведём решение Ивана Гладких на языке Python.
P = [i for i in range(25, 51)]
Q = [i for i in range(32, 48)]
m = 0
for Amin in range(0, 60):
for Amax in range(Amin + 1, 60):
check = 1
A = [i for i in range(Amin, Amax)]
for x in range(0, 101):
f = ((not(x in A)) <= (x in P)) <= ((x in A) <= (x in Q))
if not f:
check = 0
break
if check == 1:
m = max(m,Amax - Amin)
print(m - 1)
Приведём другое решение на языке Python.
maxA = 0
for startA in 25, 32, 47, 50:
for endA in 25, 32, 47, 50:
if all([(((not (startA < x < endA)) <= (25 < x< 50)) <= ((startA < x < endA) <= (32 < x < 47))) for x in [20, 27, 35, 48, 51]]):
if endA - startA > maxA:
maxA = endA - startA
print(maxA)
Приведём решение Виктории Смирновой на языке Python.
P = [i for i in range(25,51)]
Q = [i for i in range(32,48)]
A = [i for i in range(-1000,1000)]
for x in range(-1000,1000):
if (((x not in A) <= (x in P)) <= ((x in A) <= (x in Q))) == 0:
A.remove(x)
print(len(A) - 1)
PDF-версии: