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

Просмотры: 55
Изменено: 29 октября 2024

Логическая функция \(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\)