ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 2103. Типовая задача

Миша заполнял таблицу истинности логической функции F = x ∧ (y → z) ∧ (¬y → (¬z ≡ w)), но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

F
0 0 1
0 0 1
1 1 1 0

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

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

from itertools import permutations, product


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


for a1, a2, a3, a4, a5 in product([0, 1], repeat=5):
    table = [(a1, a2, 0, 0),
             (a3, 0, 0, a4),
             (1, a5, 1, 1)]

    if len(table) == len(set(table)):
        for p in permutations('xyzw'):
            u = [f(**dict(zip(p, t))) for t in table] == [1, 1, 0]
            if u:
                print(*p)
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие