На числовой прямой даны два отрезка: и
. Найдите наибольшую возможную длину отрезка
, при котором формула
тождественно ложна, то есть принимает значение при любых x.
Решение руками
Формула будет истинной в следующих случаях:
1. Если .
2. Если или
Формула будет ложной:
1. Для : оба условия ложны.
2. Для : истинно только для
.
3. Для : истинно для обоих.
4. Для : истинно только для
.
5. Для Чтобы формула была тождественно ложной, отрезок
должен быть таким, чтобы он не пересекался с интервалом, где формула истинна:
.
Таким образом, возможные значения для отрезка :
— Между 10 и 15 и между 35 и 60.
Наибольшая длина отрезка:
— Между 10 и 15 (длина = 5).
— Между 35 и 60 (длина = 25).
Наибольшая возможная длина отрезка:
Решение программой
p = [i/4 for i in range(15*4, 36*4)] # задаем отрезок p, добавляя дробные числа
q = [i/4 for i in range(10*4, 61*4)] # задаем отрезок q, добавляя дробные числа
mx = 0
for a1 in range(1, 100): # перебираем начало отрезка а
for a2 in range(a1 + 1, 101): # перебираем конец отрезка а
c = 0 # флаг, который будет показывать при всех ли х для текущего отрезка а выражение было ложным
a = [i/4 for i in range(a1*4, a2*4)] # формируем отрезок а, добавляя дробные числа
for x in range(1, 500): # перебираем значения x
# если при текущем x выражение истинно
if (((x/4) in a) and (((x/4) in q) == ((x/4) in p))):
c = 1 # меняем значение флага
# и сбрасываем цикл, переходим к следующему отрезку а,
# так как для данного отрезка а выражение не тождественно ложно
break
if c == 0: # если значение флага не менялось, значит, при любом х при данном отрезке а выражение было ложным
mx = max(len(a)/4,mx) # вычисляем максимальную длину отрезка
print(mx)