На числовой прямой даны два отрезка: и
. Укажите наибольшую длину отрезка
, при котором формула
тождественна истинна, то есть принимает значение 1 при любом значении переменной X.
Решение руками:
Упростим выражение, раскрыв импликацию:
Тогда получается, множество не должно перекрывать следующие участки прямой:
. Для того чтобы этого добиться отрезок
должен содержаться в одном из отрезков
или
. Наибольшая длина отрезка
будет достигаться, когда он равен
, то есть
. Его длина
.
Решение программой:
# функция, которая проверяет, принадлежит ли 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(25, 30, x)) or F(13, 22, x)) == False:
f = 1
break
if f == 0:
# добавляем длину отрезка в массив
lens.append(b-a)
print(max(lens))
Ответ: 9