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

Просмотры: 62
Изменено: 23 ноября 2024

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

????F
10100
00110
01110
10110

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

Решение:

Python


from itertools import permutations

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

table = [(1, 0, 1, 0, 0),
         (0, 0, 1, 1, 0),
         (0, 1, 1, 1, 0),
         (1, 0, 1, 1, 0)]

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

Ответ: \(bdca\)