воскресенье, 15 мая 2011 г.

1000 бутылок

Винный погреб Абрау-Дюрсо
Имеются 1000 бутылок с вином. В одной из них вино испорчено. Имеются 10 белых мышей, с помощью которых нужно обнаружить плохое вино. Если мышь выпьет плохого вина, ровно через 10 минут она приобретает яркую фиолетовую окраску. Разрешается накапать вина из разных бутылок каждой мыши и дать им выпить одновременно, а потом ждать. Придумайте способ, позволяющий через 10 минут и 1 секунду определить бутылку с испорченным вином.

update
Первым правильно ответил Yurko.
Ответ
Пронумеруем все бутылки от 1 до 1000 и напишем на каждой ее номер в двоичной системе счисления; для номеров, меньших 512, допишем слева нули так, чтобы всего на каждой бутылке были написаны десять цифр. Также присвоим каждой мыши номер от 1 до 10 и дадим k-й мыши смесь вина из тех бутылок, на которых k-я цифра - единица. Когда пройдут десять минут, выпишем десять цифр - единицу на k-м месте, если k-я мышь изменила цвет, иначе - ноль. Полученная двоичная запись будет номером испорченной бутылки.

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

2 комментария:

  1. Приглашаем мышей за стол, садим их в ряд и напротив каждой ставим табличку с номером ее места от 0 до 9. Далее, берем бутылки по порядку, нумеруем и наливаем из каждой по капле тем мышам, которые сидят на местах соответствующих единицам в двоичной записи номера бутылки. Например, первую бутылку наливаем мышке на месте 0 (1=2^0), девятую -- мышам на 0-м и 3-м (9=2^3+2^0) и так далее. После того как отольем вина из всех бутылок даем мышам выпить. Для определения номера отравленной бутылки необходимо преобразовать получившееся двоичное число (мышка окрашена = 1, неокрашена = 0) в десятичную запись.

    ОтветитьУдалить