Задание 2. Информатика. ЕГЭ. Поляков-64

Просмотры: 163
Изменено: 2 февраля 2025

Логическая функция \(F\) задаётся выражением $$ (\neg x \land y \land z) \lor (\neg x \land \neg y \land z) \lor (\neg x \land \neg y \land \neg z). $$ На рисунке приведён фрагмент таблицы истинности функции \(F\), содержащий все наборы аргументов, при которых функция \(F\) истинна. Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x\), \(y\), \(z\).

???F
0001
1001
1011

В ответе напишите буквы \(x\), \(y\), \(z\) в том порядке, в котором идут соответствующие им столбцы (без разделителей).

Решение:

Python


from itertools import permutations, product

def F(x, y, z):
    return ((not x) and y and z) or ((not x) and (not y) and z) or ((not x) and (not y) and (not z))

table = [[0, 0, 0],
         [1, 0, 0],
         [1, 0, 1]]


for p in permutations('xyz'):
    if all(F(**dict(zip(p, row))) == (list(row) in table) for row in product([0, 1], repeat=3)):
           print(*p)

Ответ: \(zxy\)