Умный король и отравитель: эту задачу очень любят в Google
У короля была тысяча бутылок любимого вина. Однажды в винном погребе поймали убийцу, пытавшегося подсыпать яд в бутылки. К счастью, он успел отравить лишь одну, но какую именно, не признался.
Можно было выкинуть всю партию, но король отказался – вино было любимым. Вместо этого, он стал думать над решением.
Сначала ему пришло в голову взять кролика и поить его по очереди из всех бутылок, пока не попадется отравленная бутылка. Однако было известно, что яд срабатывает только через сутки, на такую проверку ушло бы слишком много времени.
А что если взять 1000 кроликов, подумал он. Но придется обойти полкоролевства, чтобы набрать столько.
На кроличье счастье, король был современным, получившим университетское образование, и смог найти другое решение, при котором достаточно 10 кроликов и одного дня. Попробуйте догадаться, что он придумал. Правильный ответ для проверки вы найдете после следующей картинки.
Правильный ответ
Король решил все бутылки пронумеровать в двоичной системе. Для этого достаточно чисел длиной в 10 разрядов (2 в десятой степени равно 1024). Тогда первая бутылка имеет номер 00000001, вторая – 00000010, третья 00000011 и так далее, до 1000-й бутылки с номером 1111101000.
Кроликов он приказал пронумеровать от 1 до 10, причем номер животного соответствовал разряду, в котором у конкретной бутылки стоит единица.
Из этих бутылок нужно набрать по несколько капель вина, смешать и дать этому кролику. Кролики, которые погибнут, покажут номер отравленной бутылки. Например, если яд был бутылке №10 (00001010), погибнут только второй и четвертый кролики.