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

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

Логическая функция \(F\) задаётся выражением $$ (a \land b) \lor (c \land (\neg a \lor b)). $$ Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(a\), \(b\), \(c\).

???F
0000
0010
0101
0110
1000
1011
1101
1111

В ответе напишите буквы \(a\), \(b\), \(c\) в том порядке, в котором идут соответствующие им столбцы (без разделителей).

Решение:

Python


from itertools import permutations

def F(a, b, c):
    return (a and b) or (c and ((not a) or b))

table = [[0,0,0,0],
         [0,0,1,0],
         [0,1,0,1],
         [0,1,1,0],
         [1,0,0,0],
         [1,0,1,1],
         [1,1,0,1],
         [1,1,1,1]]

for p in permutations('abc'):
    if all(F(**dict(zip(p, row))) == row[-1] for row in table):
        print(*p)

Ответ: \(bca\)