Задание 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\)