И алгоритм для фокусника такой:
- раскладывать карточки на две стопки в зависимости от ответа, «да» или «нет»
- взять ту стопку, которая меньше (можно любую, но так проще)
- сложить побитово (XOR) трёхбитовые коды (синие, мелким шрифтом внизу) карточек. На самом деле — это применение к коду проверочной матрицы.
- - если получилось 000, то загадывающий не соврал (и можно похвалить!).
- - если получилась какая-то другая строчка, то это и есть код карточки, на которой загадывающий соврал. Находим её, перекладываем её в другую стопку (комментируя, что-де вот в этот ответ не верится!).
- теперь все ответы про карточки правильные
- и задача сведена к первой: первые четыре карточки это обычное двоичное кодирование. Чтобы их выделить, можно или складывать, красные числа в стопке «да», или — если цвет не виден — выделить те карточки, у которых по меньшей мере две единицы в коде.
Готово!
Post #4323
1.69K
Математические байки Третий набор более интересный. Число опять от 1 до 15 (на самом деле, от 0 до 15), и 7 карточек. В этот раз загадывающий может (но не обязан) один раз соврать — а фокусник всё равно число должен отгадать! Математика — эти карточки реализуют код Хэмминга [7…