Задание 2. Информатика. ЕГЭ. Шастин. 30.11.2024

Просмотры: 310
Изменено: 26 декабря 2024

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

????F
111
001
0101

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

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

Решение:

Python


from itertools import product, permutations

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

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

Ответ: \(yxwz\)