Задачка для достопочтенных джентельменов и и разбирающихся в джентельменах дам: Имеется 12 монет. Одна из них фальшивая (она либо легче либо тяжелей остальных монет). Имеются двусторонние весы, на обе чашечки которых можно класть монетки. Необходимо найти фальшивую манетку за 3 взвешивания. (Если кто-то уже решал эту задачку раньше, пожалуйста не подсказывайте , так как задачка действительно интересная. Но если честно решили эту задачку сейчас - поднимите руку:)))
ДЕВЫ
19:18 10.03.2004
А по-моему, надо делить на три кучки по четыре штучки :)
ozi
19:25 10.03.2004
Вы не мудрите, вы пальцем покажите! :)) В моем варианте нужно подчистить подправить где-то после 1-го взвешивания при равенстве кучек,не идти ортодоксальным путем.
sam
19:26 10.03.2004
я не согласен с ув. Кокером: взвешиванием является сам факт сравнивания весов двух чашек. В результате перекладывания или чего другого - ИМХО не важно.
Чукигекъ™
01:30 11.03.2004
Основная трудность заключается в неопределённости условия: фальшивая монета ЛИБО легче ЛИБО тяжелей остальных монет (т.е. она может быть или легче или тяжелее) При любой определённости, когда заранее известно, тяжелее она или легче, задача имеет решения, очень простые, несколько. Я знаю как минимум два.
Однако и при неопределённости есть решение. Надо делить на три кучки по четыре монеты, первым сравнением любых двух кучек выделять эталонную (т.е. ту, в которой заведомо нет фальшивых монет), а далее алгоритм ветвится, в зависимости от того, какая из кучек оказалась эталонной, т.е. без фальшивых монет. При этом в каждой из ветвей подход к дальнейшему выбору монеток для взвешивания несколько нестандартный.
Я подсказал, а далее – сами. Тока надо обязательно учитывать при ветвлении алгоритма, что монетка может быть и ЛЕГЧЕ и ТЯЖЕЛЕЕ.
Очень удобно решать эту задачу при помощи построения алгоритма. Приматам будет намного проще
sam
03:00 11.03.2004
да, с алгоритмом понятно- главное, оставить к третьему взвешиванию максимом тройку.
а есть, кажется, интереснее вариант - без ветвления. Нужно монеты пронумеровать. Взвешивание проводится трижды, в каждой чашке, например, по 4 монеты. Раскладка монет по чашкам должен быть такой, чтобы каждая монета обладала уникальной характеристикой, являющейся "картой" пребывания конкретной монеты в чашках. Сопоставив результаты взвешиваний с этими характеристиками, однозначно определяем монету. Нутром чую, что это возможно, вот только не могу пока формализовать алгоритм раскладки монет по чашкам. Но идею дарю ;))).
Лю
10:59 11.03.2004
Решается максимум в три хода при условии, что перекладывание монет с чашки на чашку (без изменения их количества)не считать взвешиванием.
OK
11:08 11.03.2004
Ура! Я, кажется, поняла! Значит, на 3 кучки по 4 штучки. Любую пару (кучки А и В) взвешиваем. Простой случай - когда искомая монета в третьей кучке С - не рассматриваем. Значит, М(А)не равно М(В). Убираем с каждой чашки по 2 монеты. Если положение весов не меняется - очевидно, что искомая монета находится на весах, а в руках, соответственно, честные монеты. Снимаем монетки с одной из чашек и кладем туда 2 из рук - это второе взвешивание. По реакции весов определяем, где фальшивая монета - среди двух, которые мы убрали только что, или на весах. И дальше, пользуясь любой эталонной честной монетой, третьим взвешиванием из двух выбираем фальшивую. Все остальные случаи так или иначе сводятся к этому. Так или не так?
Koker
11:49 11.03.2004
Я эту задачу в свое время решал. Если напрячься, то могу прислать алгоритм, причем в нем доказывается, что за 3 взвешивания, с учетом перекладывания монет, как отдельное взвешивание, задача решения не имеет.
ozi
12:50 11.03.2004
Не хватает объема информации при простом взвешивании.Для 10 монет -ОК.Для 12 при куче методов находится расклад,что остается неопределенный выбор среди двух монет.Если как ОК вытаскивать по паре и не считать это за взвешивание-можно за 2 "взвешивания" обойтись.
ДЕВЫ
15:00 11.03.2004
Или просто оставшиеся после 3-х взвешиваний монеты надо попробовать на зуб? Для зубов полезнее кусать 2 монеты, чем 12 :)))
В моем варианте нужно подчистить подправить где-то после 1-го взвешивания при равенстве кучек,не идти ортодоксальным путем.
Однако и при неопределённости есть решение. Надо делить на три кучки по четыре монеты, первым сравнением любых двух кучек выделять эталонную (т.е. ту, в которой заведомо нет фальшивых монет), а далее алгоритм ветвится, в зависимости от того, какая из кучек оказалась эталонной, т.е. без фальшивых монет. При этом в каждой из ветвей подход к дальнейшему выбору монеток для взвешивания несколько нестандартный.
Я подсказал, а далее – сами. Тока надо обязательно учитывать при ветвлении алгоритма, что монетка может быть и ЛЕГЧЕ и ТЯЖЕЛЕЕ.
Очень удобно решать эту задачу при помощи построения алгоритма. Приматам будет намного проще
а есть, кажется, интереснее вариант - без ветвления.
Нужно монеты пронумеровать. Взвешивание проводится трижды, в каждой чашке, например, по 4 монеты. Раскладка монет по чашкам должен быть такой, чтобы каждая монета обладала уникальной характеристикой, являющейся "картой" пребывания конкретной монеты в чашках. Сопоставив результаты взвешиваний с этими характеристиками, однозначно определяем монету. Нутром чую, что это возможно, вот только не могу пока формализовать алгоритм раскладки монет по чашкам. Но идею дарю ;))).
Страницы: 1 2 3 4