Задача к ЕГЭ по информатике на тему «отрезки» №5

На числовой прямой даны три отрезка:

P = [5;25]  , Q = [15;35]  и K = [25;40]

Каким может быть промежуток А чтобы формула

((x ∈ Q) → (x∈∕K ))∧ (x ∈ A)∧ (x∈∕P )

тождественно ложна при любых значениях переменной x. В ответ запишите наибольшую возможную целую длину промежутка А.

Решение руками

Первым шагом раскроем импликацию и отрицание:

((x∈∕Q )∨ (x ∕∈ K ))∧ (x ∈ A )∧ (x ∕∈ P)

Для наглядности изобразим известную часть на числовой прямой:

PIC

На рисунке заштрихованы области, которые дают истину в известной части. Тогда, чтобы все выражение давало ложь, необходимо, чтобы отрезок A  не попадал в эти области. Отсюда наибольший отрезок A = [5;35]  . Его длина: 35 − 5 = 30  .

Решение программой

def inn(x, a):
    if a[0] <= x <= a[1]:
        return True
    return False


p = [5, 25]
q = [15, 35]
k = [25, 40]
maxim = 0

for i in range(100):
    for j in range(i + 1, 100):
        a = [i, j]
        flag = True
        for x in range(100):
            if ((inn(x, q) <= (not inn(x, k))) and inn(x, a) and (not inn(x, p))) == 1:
                flag = False
        if flag:
            maxim = max(maxim, j - i)

print(maxim)

Ответ: 30
Оцените статью
Я решу все!