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

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

(¬ (x  при­над­ле­жит A) → (x  при­над­ле­жит P)) → ((x  при­над­ле­жит A) → (x  при­над­ле­жит Q))

тож­де­ствен­но ис­тин­на, то есть при­ни­ма­ет зна­че­ние 1 при любом зна­че­нии пе­ре­мен­ной х.

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

Ре­ше­ние.

Пре­об­ра­зу­ем дан­ное вы­ра­же­ние:

(¬ (x  при­над­ле­жит A) → (x  при­над­ле­жит P)) → ((x  при­над­ле­жит A) → (x  при­над­ле­жит Q))

((x  при­над­ле­жит A) ∨ (x  при­над­ле­жит P)) → ((x \notin A) ∨ (x  при­над­ле­жит Q))

¬((x  при­над­ле­жит A) ∨ (x  при­над­ле­жит P)) ∨ ((x \notin A) ∨ (x  при­над­ле­жит Q))

(x \notin A) ∧ (x \notin P) ∨ (x \notin A) ∨ (x  при­над­ле­жит Q)

(x \notin A) ∨ (x  при­над­ле­жит Q).

Таким об­ра­зом, либо x дол­жен при­над­ле­жать Q, либо не при­над­ле­жать A. Это зна­чит, что для до­сти­же­ния ис­тин­но­сти для всех x, не­об­хо­ди­мо, чтобы A пол­но­стью со­дер­жал­ся в Q. Тогда мак­си­мум, каким он смо­жет стать, это всем Q, то есть дли­ной 15.

 

Ответ: 15.

 

При­ме­ча­ние.

О длине от­рез­ка на­пи­са­но в при­ме­ча­нии к за­да­че 11119.

 

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

P = [i for i in range(25, 51)]

Q = [i for i in range(32, 48)]

m = 0

for Amin in range(0, 60):

for Amax in range(Amin + 1, 60):

check = 1

A = [i for i in range(Amin, Amax)]

for x in range(0, 101):

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

if not f:

check = 0

break

if check == 1:

m = max(m,Amax - Amin)

print(m - 1)

 

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

maxA = 0

for startA in 25, 32, 47, 50:

for endA in 25, 32, 47, 50:

if all([(((not (startA < x < endA)) <= (25 < x< 50)) <= ((startA < x < endA) <= (32 < x < 47))) for x in [20, 27, 35, 48, 51]]):

if endA - startA > maxA:

maxA = endA - startA

print(maxA)

 

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

P = [i for i in range(25,51)]

Q = [i for i in range(32,48)]

A = [i for i in range(-1000,1000)]

for x in range(-1000,1000):

if (((x not in A) <= (x in P)) <= ((x in A) <= (x in Q))) == 0:

A.remove(x)

print(len(A) - 1)


Аналоги к заданию № 8666: 9170 Все

Раздел кодификатора ФИПИ: 1.5.1 Вы­ска­зы­ва­ния, ло­ги­че­ские опе­ра­ции, кван­то­ры, ис­тин­ность вы­ска­зы­ва­ния