OpenFIPI 2.0
2
3
30E4D9
Миша заполнял таблицу истинности логической функции F
((w → y) → (x ≡ y)) \/ ¬z,
но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
|
|
|
|
|
F |
|
|
0 |
1 |
0 |
0 |
|
0 |
|
|
0 |
0 |
|
|
1 |
1 |
|
0 |
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция F задана выражением ¬x \/ y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
|
|
|
F |
|
0 |
1 |
0 |
В этом случае первому столбцу соответствует переменная y, а второму столбцу – переменная x. В ответе следует написать: yx.
xyzw
print('x y z w')
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
f = ((w <= y) <= (x == y)) or not z
if not f:
print(x, y, z, w)
x y z w
0 1 1 0
0 1 1 1
1 0 1 0
from itertools import *
def f(x,y,w,z):
return ((w <= y) <= (x == y)) or not z
for a1,a2,a3,a4,a5 in product([0,1],repeat = 5):
table = [(a1,0,1,0),(0,a2,a3,0),(a4,1,1,a5)]
if len(table)==len(set(table)):
for p in permutations('xywz'):
if [f(**dict(zip(p,r))) for r in table] == [0,0,0]:
print(p)
Просмотреть отправленные ответы 30E4D9