На числовой прямой даны два отрезка:
тождественно истинно, то есть принимает
Введем обозначения:
Преобразовав, получаем:
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Логическое И истинно, когда истинны оба утверждения.
Ответ: 19.
Примечание 1.
О длине отрезка написано в примечании к задаче 11119.
Примечание 2.
Предостерегаем читателей от решения этой и подобных задач с помощью программ, реализующих метод перебора. В программах, которые предлагают наши читатели, в качестве границ отрезка используются целые числа, и длина отрезка определяется как разность между ними. Такие программы будут давать неверный результат, если
Приведём решение Виктории Зиберовой на языке Python.
p = range(3, 39)
q = range(21, 58)
A = [int(i) for i in range(1, 58)]#после запуска перебираем 4 значения от наибольшего к наименьшему 57,38,и тд берем наименьшее значение которое дало результат и смотрим длину массива а
for x in range(100):
if not (((x in q)<=(x in p))<=(not(x in A))):
A = A[1:]
else:
print(len(A))
Приведём решение Сергея Донец на PascalABC.NET:
begin
var P := 3..38; var Q := 21..57;
var setX:=|3,38,21,57|.SelectMany(x->|x-0.1,x,x+0.1|);
setX.Order.Combinations(2).Select(m->m[0]..m[1])
.Where(A->setX.All(x->((x in Q)<=(x in P))<=not (x in A)
)).Max(A->A.Size).Round.Print;
end.

