Миша заполнял таблицу истинности логической функции F
но успел заполнить лишь фрагмент из четырёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных ,
,
,
.
??? | ??? | ??? | ??? | f |
1 | 0 | |||
1 | 1 | 0 | ||
1 | 0 | |||
Определите, какому столбцу таблицы соответствует каждая из переменных ,
,
,
. В ответе напишите буквы
,
,
,
в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
def f(x, y, z, w):
return ((x == z) or w) <= (y and w or x)
print("x y z w")
a = (0, 1)
for x in a:
for y in a:
for z in a:
for w in a:
if f(x, y, z, w) == 0:
print(x, y, z, w)
Запустим программу и получим такой вывод:
x y z w
0 0 0 0
0 0 0 1
0 0 1 1
0 1 0 0
Количество единиц в полученной табличке равно количеству единиц в данной, значит все пропуски можем заполнить нулями. w поставим на 3-е место, так как только у w есть две единицы, x поставим на 2-е место, так как только там нет единиц. z поставим на 4-е место, так как его единица находится в той же строке, где есть единица у w. По остаточному принципу y поставим 1-е место.