Миша заполнял таблицу истинности логической функции F
но успел заполнить лишь фрагмент из четырёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных ,
,
,
.
??? | ??? | ??? | ??? | f |
0 | 0 | 1 | ||
1 | 0 | 1 | ||
1 | 1 | 1 | ||
Определите, какому столбцу таблицы соответствует каждая из переменных ,
,
,
. В ответе напишите буквы
,
,
,
в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Если вариантов расположить буквы несколько, на последнее место поставьте ту букву, что встречается раньше в алфавите.
def f(x, y, z, w):
return (x and y) and (x and (z <= w))
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) == 1:
print(x, y, z, w)
Запустим программу и получим такой вывод:
x y z w
1 1 0 0
1 1 0 1
1 1 1 1
Очевидно, что в 3-м и 4-м столбцах могут быть только x и y, так как только у них нет ни одного нуля и они не могут быть в 1-м и 2-м столбцах. Также заметим, что в 1-м столбце стоит две единицы, а значит там может быть только w. На последнее место поставим x, так как он раньше встречается в алфавите, чем y.