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

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

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

F
1 1 1 0
0 0 1
0 0 1

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

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

from itertools import permutations, product


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


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

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

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

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