Задание 15. Информатика. ЕГЭ. Статград. 24.10.2024-1
- Просмотры: 379
- Изменено: 24 ноября 2024
На числовой прямой даны три отрезка: \(P = [3; \, 43],\) \(Q = [18; \, 91],\) \(R = [72; \, 115].\) Укажите наименьшую возможную длину такого отрезка \(A,\) для которого логическое выражение $$ (x \in Q) \to (\neg (x \in P) \to ((\neg (x \in R) \land \neg (x \in A)) \to \neg (x \in Q))) $$ истинно (т.е. принимает значение \(1\)) при любом значении переменной \(x\).
Решение:
Python
def expr(x, A):
xinQ = 18 <= x <= 91
xinP = 3 <= x <= 43
xinR = 72 <= x <= 115
xinA = A[0] <= x <= A[1]
return xinQ <= ((not xinP) <= ((not xinR and not xinA) <= (not xinQ)))
A = [18, 91]
for z in range(91, 0, -1):
A[1] = z
if not all(expr(x, A) for x in range(1, 100)):
A[1] = z + 1
break
for z in range(18, A[1]):
A[0] = z
if not all(expr(x, A) for x in range(1, 100)):
A[0] = z - 1
break
print(A, A[1] - A[0])
Ответ: \(27\)