Задание №15 — Сложное логическое выражение
На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
истинно (т. е. принимает значение 1) при любом значении переменной х.
Правильный ответ
12
Пояснение
Решение:
Обозначим , , . Выражение имеет вид .
Если , внешняя импликация истинна автоматически. Значит всё решается только на точках отрезка .
Пусть . Тогда , и внутренняя импликация истинна лишь при ложной посылке: , то есть .
Итог: каждая точка отрезка должна лежать в или в .
Для и отрезок накрывает часть от 29 до 58, а непокрытой остаётся часть . Именно её и должен взять на себя отрезок .
Отрезок, содержащий точку 17 и точки, сколь угодно близкие к 29, обязан содержать весь промежуток . Наименьшая длина равна .
def ok(a, b, step=0.5):
for i in range(0, 250):
x = i * step
D = 17 <= x <= 58
C = 29 <= x <= 80
A = a <= x <= b
if D and not (C or A):
return False
return True
print(ok(17, 29)) # True
print(ok(17.5, 29)) # False
Ответ: 12