Есть 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-ную бутылку.
Итого. Потребуется один день.
Для кого процесс решения слишком сложный и непонятный, просто запомните что аж тыщу бутылок можно всего за один день.