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

Просмотры: 41
Изменено: 24 ноября 2024

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

????F
00011
10011
10111
11111

Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x\), \(y\), \(z\), \(w\).

Решение:

Python


from itertools import permutations

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


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

for p in permutations('xyzw'):
    if all(F(**dict(zip(p, row))) == row[-1] for row in table):
        print(*p)

Ответ: \(ywzx\)