На числовой прямой даны два отрезка:
Укажите наименьшую возможную длину
тождественно истинно, то есть принимает
Введем обозначения:
Применив преобразование импликации, получаем:
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Выражение
Ответ: 3.
Примечание.
О длине отрезка написано в примечании к задаче 11119.
Приведём решение Ивана Гладких на языке Python.
m = 10**6
P = [i for i in range(4, 16)]
Q = [i for i in range(12, 21)]
for Amin in range(1, 50):
for Amax in range(Amin + 1, 50):
check = 1
A = [i for i in range(Amin, Amax)]
for x in range(-300, 300):
f = ((x in P) and (x in Q)) <= (x in A)
if not f:
check = 0
break
if check == 1:
m = min(m,Amax - Amin)
print(m-1)
Приведём решение Сергея Донец на PascalABC.NET:
begin
var P := 4..15;var Q := 12..20;
var setX:=|P.First,P.Last,Q.First,Q.Last,-999,999|
.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 P)and(x in Q))<=(x in A)
)).Min(A->A.Size).Print;
end.

