ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 15007. Демоверсия

На числовой прямой даны два отрезка: P = [15; 40] и Q = [21; 63].

Укажите наименьшую возможную длину такого отрезка A, что логическое выражение (x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P)) истинно (т.е. принимает значение 1) при любом значении переменной х.

from itertools import combinations


def f(x):
    P = 15 <= x <= 40
    Q = 21 <= x <= 63
    A = A1 <= x <= A2
    return P<= ((Q and (not A))<= (not P))


line_A = sorted([15, 40, 21, 63])
line_x = [15.5, 40.5, 21.5]

ans = []
for A1, A2 in combinations(line_A, 2):
    if all(f(x) for x in line_x):
        ans.append(A2 - A1)

print(min(ans))
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие