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

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

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

???F
0000
0010
0100
0111
1001
1011
1100
1110

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

Решение:

Python


from itertools import permutations

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

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

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

Ответ: \(acb\)