математическая загадка

Готовы к решению?

Вот загадка, которую мы рассматривали на последнем уроке на случай, если вы ее пропустили.

Король маленькой страны приглашает на свой ежегодный праздник 1000 сенаторов. По традиции каждый сенатор приносит королю бутылку вина. Вскоре после этого королева обнаруживает, что один из сенаторов пытается убить короля, дав ему бутылку отравленного вина. К сожалению, они не знают, какой сенатор и какая бутылка вина отравлены, а яд совершенно незаметен. Однако у короля есть 10 заключенных, которых он планирует казнить. Он решает использовать их в качестве дегустаторов, чтобы определить, в какой бутылке вина содержится яд. Яд не действует на заключенного ровно через 24 часа, когда зараженный заключенный внезапно умирает. Королю нужно определить, какая бутылка вина будет отравлена ​​завтра, чтобы гулянья продолжились по плану. Следовательно, у него есть время только на один раунд тестирования. Как может король дать вино заключенным, чтобы гарантировать, что через 24 часа он гарантированно найдет бутылку с отравленным вином?

Не волнуйтесь, если вы не смогли ее решить. Важная часть - попробовать.

Если вы все еще работаете над этим, возможно, вам будет полезна эта статья!

возможное решение первое:

Давайте начнем с повторения проблемы.

У нас есть 1000 бутылок вина, одна из которых отравлена ​​, и нам нужно каким-то образом протестировать все винные бутылки, используя только 10 заключенных в качестве дегустаторов. Как бы мы ни решили дать вино заключенным, нам нужно использовать смерть заключенных как код, чтобы отследить отравленную бутылку вина.

Поскольку у нас есть только 24 часа, чтобы проверить вино, мы знаем, что не хватает ни времени, ни достаточного количества заключенных, чтобы тестировать вино один за другим. Я предполагаю, что вы дошли до этого момента, и именно здесь возникла путаница.

Как мы можем проверить все бутылки? Что ж, нам придется напоить заключенных, это я могу вам сказать! Jk, но серьезно, нам нужно систематически раздавать вино заключенным, чтобы было как минимум тысяча различных комбинаций!

Во-первых, давайте выстроим в ряд наших 10 заключенных и наклеим им ярлыки. Также промаркируйте бутылки с вином 0–999, чтобы мы могли различить их.

Давайте выпьем заключенного из каждой второй бутылки, начиная с первой бутылки, бутылки №0. Другими словами, Заключенный A будет пить из бутылок 0, 2, 4,…

Затем поручите Заключенному B выпить из каждой второй пары бутылок. Например, Заключенный Б пьет из бутылок 0 и 1, пропускает 2 и 3. Пьет из 4 и 5, пропускает 6 и 7 и так далее, продолжая образец.

Попросите заключенного C выпить из любого другого набора из четырех бутылок: например, заключенный C пьет из бутылок 0–3, (пропустить 4–7), 8–11, (пропустить 12–15), 16–19,…

Вы видите закономерность? Продолжайте удваивать количество бутылок, которые каждый заключенный выпивает подряд.

Заключенный D пьет из каждого набора из восьми бутылок. Заключенный E из каждой второй группы из 16. Заключенный F из всех остальных 32. Заключенный G из всех остальных 64. Заключенный H из всех остальных 128. Заключенный I из каждых 256 бутылок. И, наконец, Заключенный J из первых 512 бутылок.

На этом этапе вы можете заметить что-то знакомое. Назначение бутылок отражает степень двойки.

Мы успешно распространили вино, так что комбинаций достаточно. Теперь ждем 24 часа, чтобы узнать, кто из заключенных был отравлен.

Как мы сможем определить, какая бутылка была ядовитой? Мы рассмотрим схему отравленных заключенных, закодированную в двоичном формате. Для этого я поставлю ноль над отравленными заключенными, а над теми, кто не отравлен.

Прежде чем декодировать результат, нам нужно перевернуть наших заключенных, чтобы он соответствовал двоичной системе счисления.

Итак, мы идем. А теперь предположим, что все заключенные отравлены? Какая это была бутылка вина?

Ну, должно быть, это была первая бутылка, бутылка №0, поскольку это единственная бутылка, из которой все пили.

Это подтверждается на нашей диаграмме, потому что, если все они отравлены, мы ставим ноль над каждым заключенным. И 0000000000 в двоичном формате по-прежнему 0 в десятичном.

Теперь предположим, что все кроме заключенного А отравлены.

Если перевести 0000000001 в десятичную форму, получится 1. Это означает, что бутылка №1 была отравлена. Это подтверждает то, что мы знаем, что это правда, потому что заключенный A был единственным заключенным, не, который пил из бутылки №1 (помните, что Заключенный A пил из бутылок 0, 2, 4, 6…).

Как насчет того, чтобы отравить заключенных J, H, F, D и B?

Переведите число 0101010101 в десятичную форму, чтобы определить, какая это была бутылка.

101010101 = 256 + 64 + 16 + 4 + 1 = 341.

Следовательно, бутылка номер 341 была ядовитой.

Довольно умно, не правда ли? Поскольку заключенных 10 и у каждого из них есть два состояния (мертвый или живой), в этой системе всего 1024 различных комбинации.

Комбинаций более чем достаточно, ведь у нас всего 1000 бутылок.

возможное решение два:

Это решение сразу переходит в двоичную систему.

Для начала пометьте каждую бутылку ее десятичным числом и двоичным эквивалентом.

Теперь каждая бутылка служит кодом, описывающим, кто из заключенных должен пить из нее. В этой системе единица означает, что заключенный пьет из нее, а ноль означает, что заключенный не пьет.

Например, только заключенный J должен пить из первой бутылки, поскольку ее двоичный код равен 0000000001. В то время как заключенные I и G должны пить из десятой бутылки, двоичный код которой равен 0000001010, потому что в столбцах, соответствующих заключенным I и G.

Продолжайте этот процесс до тех пор, пока не будете выдавать по глотку вина из каждой бутылки. Через 24 часа выстроите заключенных по порядку и отметьте, какие из них были отравлены единицами, а остальных отметьте нулями. Преобразуйте это число обратно в десятичное, чтобы определить, какая бутылка была отравлена.

Уф! Разве это не весело ?!

❤ ОСТАВАЙТЕСЬ НА СВЯЗИ ❤

Будьте в курсе всего, что есть в Math Hacks!



Instagram | Facebook | Твиттер

Более загадочные проблемы