Опять же, фокус достаточно простой — к двоичному кодированию добавили бит контроля чётности, сумму цифр двоичной записи по модулю 2, и именно его и «спрашивает» последняя карточка.
Соответственно, в варианте а) фокусник смотрит, сколько он уже получил ответов «да», и если их нечётное число, то в карточке, про которую загадывающий отказался отвечать, ответ «да», а если чётное, то «нет». Восстанавливаем ответ на этой карточке (разумеется, проговаривая, «а вот туут ответ должен быть…»), и задача сведена к предыдущей.
А в варианте б) ещё проще — смотрим, сколько карточек в куче «да». Если нечётное число, то говорим «не верю», если чётное, то применяем навыки предыдущего фокуса (главное — не забыть, что бит контроля чётности в двоичную запись не входит; чтобы не путать — степени двойки, которые надо складывать, выделены красным, а на последней карточке красного нет).
Post #4320
1.64K