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

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

(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

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

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

Ре­ше­ние.

Вве­дем обо­зна­че­ния:

(x ∈ P) ≡ P; (x ∈ Q) ≡ Q; (x ∈ A) ≡ A (x ∈ R) ≡ R.

Тогда, при­ме­нив пре­об­ра­зо­ва­ние им­пли­ка­ции, по­лу­ча­ем:

P → ((Q ∧ ¬A) → ¬P) = ¬P ∨ (¬(Q ∨ ¬A) ∨ ¬P) =¬P ∨ ¬Q ∨ A ∨ ¬P = ¬P ∨ ¬Q ∨ A

Дан­ное вы­ра­же­ние будет ис­тин­но на от­рез­ках ¬P [-∞; 15] и [40; +∞] и ¬Q [-∞; 21] и [63; +∞]

 

В таком слу­чае, для того, чтобы вы­ра­же­ние было ис­тин­но при любом x, A долж­но ле­жать в про­ме­жут­ке (21; 40). Сле­до­ва­тель­но, наи­мень­шая воз­мож­ная длина про­ме­жут­ка равна 40 − 21  =  19.

 

Ответ: 19.

 

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

p = list(range(15,41))

q = list(range(21,64))

mn = 100

for b in range(15,64):

for e in range(15, 64):

a = list(range(b,e+1))

if all([(x in p) <=(((x in q) and (x not in a)) <= (x not in p)) for x in range(1,100)]):

mn = min(mn,a[-1]-a[0])

print(mn)

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2025 по ин­фор­ма­ти­ке