
Тип 15 № 34537
На числовой прямой даны три отрезка: P = [10,15], Q = [10,20] и R=[5,15].
Какова наименьшая возможная длина интервала A, что формулы
(x ∈ A) → (x ∈ P) и (x ∈ Q) → (x ∈ R)
тождественно равны, то есть принимают равные значения при любом значении переменной х .

Комментарии к коду программы:
def F(x, a1, a2):- Определение функцииFс тремя параметрами:x,a1иa2, гдеa1иa2это начало и конец отрезкаA.P = 10 <= x <= 15- Установление значения переменнойPв зависимости от условия10 <= x <= 15((x ∈ P))&Q = 10 <= x <= 20- Установление значения переменнойQв зависимости от условия10 <= x <= 20((x ∈ Q)).R = 5 <= x <= 15- Установление значения переменнойRв зависимости от условия5 <= x <= 15((x ∈ R)).A = a1 <= x <= a2- Установление значения переменнойAв зависимости от условияa1 <= x <= a2((x ∈ A)).return (A <= P) == (Q <= R)- Возвращение значения, равного результату проверки двух логических выражений.R = []- Инициализация пустого спискаR.M = [x / 4 for x in range(5 * 4, 20 * 4)]Формирование спискаM, в котором каждое число делится на 4 для формирования списка вещественных чисел (можно делить на любое другое число, но это повлечет за собой более долгое выполнение скрипта).for a1 in M:- Перебираем все варианты для переменнойa1(начало отрезкаA).for a2 in M:- Перебираем все варианты для переменнойa2(конец отрезкаA).if all(F(x, a1, a2) for x in M):- Проверка: если все значения переменнойхудовлетворяют условию функцииF(функция тождественно истинна).R.append(a2 - a1)- Добавление длины отрезка A (разность концаa2и началаa1) в списокR.print(min(R))- Вывод минимального значения из спискаR.
def F(x, a1, a2):
P = 10 <= x <= 15
Q = 10 <= x <= 20
R = 5 <= x <= 15
A = a1 <= x <= a2
return (A <= P) == (Q <= R)
R = []
M = [x / 4 for x in range(5 * 4, 20 * 4)]
for a1 in M:
for a2 in M:
if all(F(x, a1, a2) for x in M):
R.append(a2 - a1)
print(min(R))
# Результат 4.5 следовательно округляем до 5