1000 бутылок и 10 мышей

May 09, 2017 12:00



Есть 1000 бутылок вина, в одну из которых оказался добавлен сильный яд, и всего 10 лабораторных мышек. Яд убивает мышку за 1 день (точность срока действия яда не позволяет отсчитывать дробное количество дней).

За какое наименьшее количество дней можно с помощью этих мышей вычислить отравленную бутылку?


Как это называется? Классическая комбинаторика? Не простая задачка конечно, но оригинальное решение. Жаль только, то решение все таки специфически математическое, а не логическое.

[ВОТ ПРАВИЛЬНЫЙ ОТВЕТ]

Пронумеруйте каждую мышь, возьмите 10 стаканов и пронумеруйте их тоже. Далее пронумеруйте каждую бутылку, но не обычными числами, а… ДВОИЧНЫМИ. Поскольку 2 в 10 степени равно 1024, то вам понадобится для этого не более 10 разрядов. Далее каждую бутылку разливаем в каждый из стаканов по следующему правилу:

В стакан номер N наливаем из некоторой бутылки, если N-й разряд в её двоичном номере равен 1, и не наливаем, если он равен 0. Например, из бутылки номер 3 наливаем немного вина только в 1-й и 2-й стакан, т.к. двоичная запись числа 3 будет 0000000011. Полученные коктейли даём попробовать мышам с соответствующим номером.

Через сутки некоторые мыши умрут. Теперь составим двоичное число, где N-й разряд равен 1, если мышь номер N умерла, и 0 - если осталась жива. Полученное число и будет двоичным номером отравленной бутылки.

2^10=1024
Разряды соответствуют спаиваемым кроликам
0000000000 - Никому не спаиваем нулевую бутылку.
0000000001 - Первому первую
0000000010 - Второму вторую
0000000011 - Второму и третьему четвертую

1111100111 - Кроликам 1,2,3,4,5,8,9,10 спаиваем 1000-ную бутылку.

Итого. Потребуется один день.

Для кого процесс решения слишком сложный и непонятный, просто запомните что аж тыщу бутылок можно всего за один день.


Poll

Задача

Previous post Next post
Up