Не могу решить задание в ЕГЭ. Опечатка?

Задание с Яндекс ЕГЭ. Утверждается, что ответ CAB, но я перепроверил несколько раз и у меня никак не получается получить такое решение. Я что-то не понимаю или это опечатка?5a6ef6c83b9a9212760706.jpeg
  • Вопрос задан
  • 517 просмотров
Решения вопроса 1
longclaps
@longclaps
Ты чего-то не понимаешь. Или не умеешь.
from itertools import product

def f(a, b, c):
    return int(a and not b and not c or a and c)

print("A B C F")
for abc in product((0, 1), repeat=3):
    print(*abc, f(*abc))

Смотрим вывод
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

в колонке F всего 3 единички, из них в задачу попали 2. Смотрим на строчки с единичками
A B C F
1 0 0 1
1 0 1 1
1 1 1 1

на роль колонки №2 вроде подходят A и C - они дают 2 необходимых единички,
но C отпадает - в соотв. строках нашей таблицы стоят столбики A и B содержат
1 0
1 1

а в задании
1 0
0 0

пробуем подобрать 2 из трех строчек, так что средняя колонка - A, а B и C дадут нужные 3 нуля и единичку
вот же они:
A B C F
1 0 0 1
1 0 1 1

надо только переставить колонки и строки
C A B F
1 1 0 1
0 1 0 1

убедимся, что и первая строчка из задания, та где F == 0, найдется,
для этого перепишем ее в правильном порядке

C A B F    ->   A B C F
0 1 1 0    ->   1 1 0 0

- есть такая строка, предпоследняя в таблице.

зы. для тех, которым сложно Akram: я и сам думать не люблю, пусть комп думает )
ABCF = [(a, b, c, f(a, b, c))
        for a, b, c in product((0, 1), repeat=3)]

data = ((0, 1, 1, 0),
        (1, 1, 0, 1),
        (0, 1, 0, 1))

for x, y, z in permutations((0, 1, 2)):
    crossdata = [(r[x], r[y], r[z], r[3]) for r in ABCF]
    if all(r in crossdata for r in data):
        print("ABC"[x], "ABC"[y], "ABC"[z])
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Akram
что-то сложновато ))
A*~B*~C+A*C = A*(~B*~C+C)=A*(~B+C)
итоговая операция = конъюнкция, проверяем по единицами результата.
значит, А - это второй столбик, так как только там есть 1 для строк 2 и 3.
аналогично, (~B+C) тоже должны дать 1 для этих строк, поэтому B в столбике 3 (отрицание 0 = 1, 1+1 = 1).
для С остается столбик 1.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы