n15.otrezok02.py

Задание 15: Логические выражения (отрезки) На числовой прямой даны два отрезка: P = [117; 158] и Q = [129; 180]. Укажите наименьшую возможную длину такого отрезка А, что формула (x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P)) истинна, т.е. принимает значение 1 при любом значении переменной х.
"""
Задание 15: Логические выражения (отрезки)
На числовой прямой даны два отрезка: P = [117; 158] и Q = [129; 180].
Укажите наименьшую возможную длину такого отрезка А, что формула

(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

истинна, т.е. принимает значение 1 при любом значении переменной х.
"""

P = list(range(117, 158 + 1))
Q = list(range(129, 180 + 1))
A = []

for x in range(0, 200):
    a = ((x in Q) and not (x in A)) <= (not (x in P))
    b = (x in P) <= a
    if b == 0:
        A.append(x)

print(A)

"""
Ответ: последнее число - первое = 29
"""
"""
Задание 15: Логические выражения (отрезки)
На числовой прямой даны два отрезка: P = [117; 158] и Q = [129; 180].
Укажите наименьшую возможную длину такого отрезка А, что формула

(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

истинна, т.е. принимает значение 1 при любом значении переменной х.
"""

P = list(range(117, 158 + 1))
Q = list(range(129, 180 + 1))
A = []

for x in range(0, 200):
    a = ((x in Q) and not (x in A)) <= (not (x in P))
    b = (x in P) <= a
    if b == 0:
        A.append(x)

print(A)

"""
Ответ: последнее число - первое = 29
"""

Репозиторий на GitHub