Задача #589
Таблица истинности
Дана логическая функция пяти логических переменных:
и фрагмент таблицы истинности этой функции с неизвестными значениями некоторых ячеек.
| x1 | x2 | x3 | x4 | x5 | f |
| 0 | 1 | 1 | 0 | a | 1 |
| 0 | 1 | 1 | 1 | 0 | b |
| 0 | 1 | c | d | 1 | 0 |
| 0 | 0 | 0 | 1 | 0 | e |
Укажите в ответе значения неизвестных величин подряд без пробелов и запятых.
Например, если значения величин соответственно равны , то в ответе необходимо записать 100.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
00101
from itertools import *
def f(x1,x2,x3,x4,x5):
return (x1 or (not x2) or (not x3) or x4 or (not x5)) and \
((not x1) or (not x2) or x3 or x4 or x5) and \
(x1 or (not x2) or (not x3) or (not x4) or x5)
for a,b,c,d,e in product([0,1],repeat=5):
t = [(0,1,1,0,a),(0,1,1,1,0),(0,1,c,d,1),(0,0,0,1,0)]
if len(t)==len(set(t)):
p = ['x1','x2','x3','x4','x5']
if [f(**dict(zip(p,r))) for r in t] == [1,b,0,e]:
print(a,b,c,d,e)