Логическая функция F задаётся выражением
Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.
??? | ??? | ??? | ??? | F |
0 | 1 | |||
0 | 1 | |||
0 | 0 | 1 | ||
0 | 0 | 1 | ||
Определите, какому столбцу таблицы соответствует каждая из переменных x,y,w,z. В ответе напишите буквы x,y,w,z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
for x in range(2):
for y in range(2):
for w in range(2):
for z in range(2):
if (w and (z == (y and not(x)))) == 1:
print(x, y, w, z)
Запускаем программу и сравниваем таблицы.
Т.к. в таблице из условия только третий столбик может быть составлен из единиц, то делаем вывод, что третий столбец принадлежит w. В таблице должен быть один столбец с одной единицей, следовательно, это второй столбец, помечаем его буквой z. Первый столбик заполняем единицами, т.к. должно быть минимум две единицы. В последнем столбце гарантированно в верхней клетке должна быть единица, т.к. должны быть две строки с тремя единицами. Одна уже есть, а с другими клетками так не получится, так как в тех строках уже стоят два нуля.
Далее смотрим по строкам, в которых по три единицы, на остальные не смотрим. Среди оставшихся столбцов разница в том, что в одном две единицы, а в другом одна. Исходя из этого, делаем вывод, что в первом столбце y, а в последнем — x.