Тип 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