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

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

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

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

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

Ре­ше­ние.

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

from itertools import combinations as c

P, Q = range(25, 40), range(11, 32)

li = [range(*x) for x in c((11, 25, 32, 40), 2)]

mi = 1000

for A in li:

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

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

mi = min(mi, len(A))

print(mi)

 

Ответ: 7.

 

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

begin

var P := 25..40;var Q := 11..32;

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 ->

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

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

end.

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