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

На числовой прямой даны два отрезка: B = [12,20]  и C = [25;58]  . Укажите наибольшую возможную длину такого отрезка A, что формула

((x ∈ A) −→ (x ∈ B ))∨ (x ∈ C)

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

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

Упростим начальное выражение:

(x ∕∈ A) ∨(x ∈ B )∨ (x ∈ C )

Методом сковородки отрицаем известную часть:

(x∈∕B )∧ (x ∕∈ C)

Получаем, что x ∈ (− ∞; 12)⋃(20;25)⋃(58;∞ )  (красная область).

PIC

Но нам нужно взять такой отрезок A  , чтобы x  ему не пренадлежал. То есть нужно выбрать из двух отрезков:    B  или C  .

Наибольшую длину имеет отрезок C  и она равна 58 − 25 = 33  .

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

# функция, которая проверяет, принадлежит ли x отрезку
def F(start, end, x):
    if start <= x <= end:
        return True
    else:
        return False

lens = []
# левая граница искомого отрезка
for a in range(1, 500+1):
# правая граница искомого отрезка
    for b in range(a, 500+1):
        f = 0
        for x in range(1, 1000):
            if ((F(a, b, x) <= F(12, 20, x)) or F(25, 58, x)) == False:
                f = 1
                break
        if f == 0:
        
# добавляем длину отрезка в массив
            lens.append(b-a)
print(max(lens))

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