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

Просмотры: 315
Изменено: 24 ноября 2024

(А. Богданов) Логическая функция \(F\) задаётся выражением $$ (w \lor x \lor y) \to ((y \lor z) \land x \lor y \land (w \lor z)). $$ На рисунке приведён частично заполненный фрагмент таблицы истинности функции \(F\), содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x\), \(y\), \(z\), \(w\).

????F
0000
110
110

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

Решение:

Python


from itertools import product, permutations

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

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

Ответ: \(ywzx\)