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

На чис­ло­вой пря­мой даны два от­рез­ка: P  =  [23, 58] и Q  =  [1, 39].

Ка­ко­ва наи­мень­шая воз­мож­ная длина ин­тер­ва­ла A, что фор­му­ла

((x ∈ P) ∨ (x ∈ А)) → ((x ∈ Q) ∨ (x ∈ А))

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

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

Ре­ше­ние.

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

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

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

(P ∨ А) → (Q ∨ А) = ¬(P ∨ A) ∨ (Q ∨ A).

Ло­ги­че­ское ИЛИ ис­тин­но, если ис­тин­но хотя бы одно утвер­жде­ние. Наи­боль­ший ин­тер­вал на ко­то­ром ¬(P ∨ A) ис­тин­но по­лу­чит­ся, если от­ре­зок A по­па­да­ет внутрь от­рез­ка P. Тогда это вы­ра­же­ние ис­тин­но на ин­тер­ва­ле (−∞; 23) ∪ (58; ∞). Также не­об­хо­ди­мо, чтобы вы­ра­же­ние (Q ∨ A) было ис­тин­но на от­рез­ке [23; 58]. По­сколь­ку Q  =  [1, 39], можно взять от­ре­зок A  =  (39, 58]. Зна­чит, наи­мень­шая воз­мож­ная длина ин­тер­ва­ла A равна 58 − 39  =  19.

 

Ответ: 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)


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

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