На числовой прямой даны два отрезка:
Какова наименьшая возможная длина
тождественно истинна, то есть принимает
Введем обозначения:
Применив преобразование импликации, получаем:
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Наибольший интервал на котором ¬(P ∨ A) истинно получится, если
Ответ: 19.
Приведём решение Ивана Гладких на языке Python.
m = 10**10
P = [i for i in range(23, 59)]
Q = [i for i in range(1, 40)]
for Amin in range(1, 101):
for Amax in range(Amin + 1, 101):
check = 1
A = [i for i in range(Amin, Amax)]
for x in range(1, 101):
f = ((x in P) or (x in A)) <= ((x in Q) or (x in A))
if not f:
check = 0
break
if check == 1:
m = min(m,Amax - Amin)
print(m)
Приведём решение Сергея Донец на PascalABC.NET:
begin
var P := 23..58;var Q := 1..39;
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)or(x in A))<=((x in Q)or(x in A))
)).Min(A->A.Size).Round.Print;
end.

