Задания
Версия для печати и копирования в MS Word
Тип 15 № 76230
i

На чис­ло­вой пря­мой даны два от­рез­ка: P  =  [7; 68] и Q  =  [23; 42]. Ука­жи­те наи­мень­шую воз­мож­ную длину та­ко­го от­рез­ка A, для ко­то­ро­го ло­ги­че­ское вы­ра­же­ние

¬(xA) → (((xQ) ∧ (xP)) → (xA))

ис­тин­но (т. е. при­ни­ма­ет зна­че­ние 1) при любом зна­че­нии пе­ре­мен­ной х.

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние дан­ной за­да­чи на языке Python.

from itertools import combinations as c

P, Q = range(7, 68), range(23, 42)

li = [range(*x) for x in c((7, 23, 42, 68), 2)]

mi = 1000

for A in li:

if all((not (x in A)) <= (((x in Q) and (x in P)) <= (x in A))\

for x in range(-3000, 3000)):

mi = min(mi, len(A))

print(mi)

 

Ответ: 19.

 

При­ведём ре­ше­ние Сер­гея Донец на PascalABC.NET:

begin

var P := 7..68;var Q := 23..42;

var setX := |P.First,P.Last,Q.First,Q.Last,-99999,99999|

.SelectMany(x -> |x - 0.1, x, x + 0.1|);

setX.Order.Combinations(2).Select(m -> m[0]..m[1])

.Where(A -> setX.All(x ->

not(x in A)<=(((x in Q)and(x in P))<=(x in A))

)).Min(A -> A.Size).Round.Print;

end.

Источник: Проб­ный ЕГЭ Санкт-Пе­тер­бург, 20.02.2025. Ва­ри­ант 2