Задание 2. Информатика. ЕГЭ. Поляков-4147
- Просмотры: 70
- Изменено: 24 ноября 2024
(Е. Джобс) Логическая функция \(F\) задаётся выражением $$ a \land \neg b \lor (a \lor b) \land c \lor d. $$ На рисунке приведён частично заполненный фрагмент таблицы истинности функции \(F\), содержащий неповторяющиеся наборы аргументов, при которых функция \(F\) ложна. Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(a\), \(b\), \(c\), \(d\).
? | ? | ? | ? | F |
---|---|---|---|---|
1 | 0 | |||
1 | 1 | 0 | ||
1 | 0 |
В ответе напишите буквы \(a\), \(b\), \(c\), \(d\) в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Решение:
Python
from itertools import product, permutations
def F(a, b, c, d):
return a and (not b) or (a or b) and c or d
for p in permutations('abcd'):
for a, b, c, d, e, f, g, h in product([0, 1], repeat=8):
table = [(a, b, c, 1, 0),
(d, 1, e, 1, 0),
(1, f, g, h, 0)]
if len(set(table)) < 3:
continue
if all(F(**dict(zip(p, row))) == row[-1] for row in table):
print(*p)
Ответ: \(cadb\)