Задание 2. Информатика. ЕГЭ. ЕГКР. 21.12.2024

Просмотры: 1082
Изменено: 29 января 2025

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

????F
010
10
100

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

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

Решение:

Python


from itertools import product, permutations

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

for p in permutations('xyzw'):
    for a, b, c, d, e, f, g in product([0, 1], repeat=7):
        table = [(0, a, b, 1, 0),
                 (c, 1, d, e, 0),
                 (1, 0, f, g, 0)]
        if len(set(table)) < 3:
            continue
        if all(F(**dict(zip(p, row))) == row[-1] for row in table):
            print(*p)

Ответ: \(yxwz\)