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

Просмотры: 74
Изменено: 30 октября 2024

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

????F
011
101
011

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

Решение:

Python


from itertools import product, permutations

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

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

Ответ: \(zywx\)