Задание 2. Информатика. ЕГЭ. Поляков-63
- Просмотры: 91
- Изменено: 21 ноября 2024
Логическая функция \(F\) задаётся выражением $$ (\neg x \lor y \lor z) \land (\neg x \lor \neg y \lor z) \land (x \lor \neg y \lor \neg z). $$ Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x\), \(y\), \(z\).
? | ? | ? | F |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
В ответе напишите буквы \(x\), \(y\), \(z\) в том порядке, в котором идут соответствующие им столбцы (без разделителей).
Решение:
Python
from itertools import permutations
def F(x, y, z):
return ((not x) or y or z) and ((not x) or (not y) or z) and (x or (not y) or (not z))
table = [[0,0,0,1],
[0,0,1,1],
[0,1,0,1],
[0,1,1,0],
[1,0,0,0],
[1,0,1,0],
[1,1,0,1],
[1,1,1,1]]
for p in permutations('xyz'):
if all(F(**dict(zip(p, row))) == row[-1] for row in table):
print(*p)
Ответ: \(xzy\)