Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Математическая задача


Автор: Cashey 17.6.2004, 12:32
Условие:
Даны 12 монет, из которых 1 фальшивая. Фальшивая отличается от настоящих по весу, однако не известно в какую сторону.
Требуется:
За три взвешивания опредилить которая из монет фальшивая и каков ее вес по отношению к настоящим.

Решение:
Мне известно, что первый шаг к решению этой задачи это разделение 12 монет на 3 группы по 4 монеты в каждой и взвесить две первых группы. Теперь, если вес этих двух групп одинаков, то решение задачи я нашел, но вот как быть если эти первые группы не ровны по весу???

Выручайте народ smile.gif и если можно быстрее!!!

Автор: Akina 17.6.2004, 14:03
Если они не равны по весу - делаем так: из каждой четверки берем по 3 монеты, по одной меняем местами и взвешиваем. Рассматривай варианты - группы равны по весу, группы не равны и перевешивают в ту же сторону, группы не равны и перевешивают в другую сторону... короче дальше разберешься.

Автор: Cashey 17.6.2004, 14:10
Akina у нас остается только два взвешивания, таким способом не укладываемся

Автор: GePo 17.6.2004, 14:44
Cashey
Я когда-то это решал. Был способ за три совершенно независимых взвешивания определить файльшивую, но сейчас я это не вспомню(вопрос времениsmile.gif ). Поэтому держиhttp://www.sachkodrom.ru/skaziki/skazik.php?id=48#foc. Там много разных, но такого способа нет

Автор: Alex101 17.6.2004, 15:35
Кажется придумал...
Разбиваем на 3 кучи по 4 монеты.
Взвешиваем 2 кучи.
1) Одна из чашек весов перетянула.
Меняем местами по три монеты.
1.1) Ничего не изменилось, следовательно фальшивая в одной из двух оставшихся.
1.2) Заменяем на одной из чаш монету настоящей (в которой мы уже уверены)
понятно - если настоящая перевешивает (легче), то другая фальшивая, иначе оставшаяся фальшивая - тоже понятно - легче или тяжелее.
2) Чаши равны.
2.1) Убираем с одной из чаш 1 монету, на другую кладем 3 из оставшейся кучки.
Чаши не равны (сразу ясно, легче или тяжелей фальшивая) Иначе просто сравниваем вес оставшейся фальшивой с настоящей
2.2) Кладем на чашу по монете из 3х, где одна фальшивая
Чаши равны - оставшаяся фальшивая, иначе та, которая перетянула (легче)

Автор: Cashey 17.6.2004, 16:09
Alex101
то же самое, слишком много ходов. Надо в 3 уложиться с самого начало

Автор: Alex101 17.6.2004, 16:12
Цитата(Cashey @ 17.6.2004, 13:09)
Alex101
то же самое, слишком много ходов. Надо в 3 уложиться с самого начало

Да не, в 3 и укладываюсь, при любом раскладе...
Добавлено @ 16:18
Пункты 1) и 2) - это не последовательные взвешивания, а варианты дальнейшего развития алгоритма.
Добавлено @ 16:19
Если что-то непонятно на конкретном примере, напиши - объясню.

Автор: CaptainFlint 18.6.2004, 14:16
Alex101
Я тоже что-то не пойму... Вот пример действий:
Взвесили две кучки по 4 штуки, одна чаша перетянула. Поменяли три монетки на чашках - пусть одна из поменянных была фальшивой - тогда теперь перевешивает другая чашка. Далее - пункт 1.2. Заменяем одну монетку. Пусть ничего не поменялось (не угадали монетку). Тогда что? Все 3 взвешивания уже исчерпаны...

Я как раз решал в точности эту задачу не очень давно, но уже успел забыть. Постараюсь припомнить, если получится, - напишу сюда (если никто не опередит).

Автор: GePo 18.6.2004, 14:21
Константин
Alex101
Cashey
Я вас немного не пойму. Я дал ссылку на решение этой задачи exclamation.gif

Автор: CaptainFlint 18.6.2004, 14:35
GePo
Блин, меня сбила твоя фраза
Цитата
Там много разных, но такого способа нет
smile.gif Просто подумал, что там обсуждений много, но решение не нашли... Неправильно понял фразу.

Сейчас восстановил то, что тогда нарешал, собирался уже постить, глянул - а по той ссылке как раз в точности этот способ описан в самом-самом низу страницы (всё не читал, сразу End нажал).

Автор: Alex101 18.6.2004, 16:15
Цитата
Alex101
Я тоже что-то не пойму... Вот пример действий:
Взвесили две кучки по 4 штуки, одна чаша перетянула. Поменяли три монетки на чашках - пусть одна из поменянных была фальшивой - тогда теперь перевешивает другая чашка. Далее - пункт 1.2. Заменяем одну монетку. Пусть ничего не поменялось (не угадали монетку). Тогда что? Все 3 взвешивания уже исчерпаны...

Мда...

Автор: beif 19.6.2004, 06:52
Прикольная задачка smile.gif

Автор: Kefir 20.6.2004, 16:58
значит так.
1. взвешиваем по 6 монет. оставляем более лёгкую кучку.
2. более лёгкую кучку делим на две части - 3 и 3. опять выбираем более лёгкую часть.
3. берём 2 любые монеты из 3 оставшихся монет. взвешиваем. если всы в равновесии, значит фалшиваха монета та, которую НЕ взвешивают. если какая-то част перевесила, значит валшивка лежит на весах - более лёгкая.

Автор: CaptainFlint 20.6.2004, 17:09
Kefir
Во-первых, задача уже решена, а во-вторых ты не учитываешь, что неизвестно, легче фальшивка, чем оригинал, или тяжелее. Если бы это было известно, то за три взвешивания её можно было бы выдрать аж из 27-ми монет, не то, что из 12-ти...

Автор: sl 13.7.2004, 07:41
1.Взвешиваем 2 кучки если они равны то фальшивая в 3 куче, еслине равны то понятно.Мы за 1 взвешивание находим кучку с фальшивой
2.Кучку с фальшивой монетой делим на 2 кучки и опять находим в какай кучки фальшивая
3. Взвешиваем 2 монеты и находим фальшивую

Автор: Cashey 13.7.2004, 12:10
Да вроде уже разобрались. Всем спасибо.

Автор: lynx_916 18.7.2004, 22:53
Цитата
Кучку с фальшивой монетой делим на 2 кучки и опять находим в какай кучки фальшивая

а как ты узнаешь в какой она куче?

Автор: S.A.P. 21.7.2004, 08:55
вот 100% алгоритм решения:
{
Взвесь на рычажных весах две группы по 4 монеты в каждой. Если
весы уравновешены, то фальшивая монета среди 4-х оставщихся монет
{
Сравни любые из 4-х оставшихся монет с 2-мя заведомо хорошими
монетами из 8-ми проверенных. Если весы уравновешенны, то
{
Сравни одну из оставшихся монет с хорошей монетой. Результат
взвешивания определит фальшивую монету.
}
Иначе, фальшивая монета - одна из 2-х потенциально
фальшивых монет на весах.
{
Сравни одну их 2-х монет с хорошей монетой. Результат
взвешивания определит фальшивую монету.
}
}
Иначе 4 оставшиеся монеты хорошие. Раздели 8 потенциально
фальшивых монет на группу легких и группу тяжелых в зависимости от
того, что показали весы при их взвешивании.

Помести две тяжелые и одну легкую монету на каждую чашу весов.
При этом должны остаться две легкие монеты. Выполни взвешивание.
Если весы уравношены, фальшивая монета находится среди 2-х
оставшихся монет.
{
Сравни одну их 2-х монет с хорошей монетой. Результат
взвешивания определит фальшивую монету.
}
Иначе, выбор сужается до 3-х монет - одна из 2-х тяжелых на нижней
чаше весов, или легкая на верхней.
{
Сравни две тяжелые монеты друг с другом. Если весы уравновешены
то фальшивая монета - это оставшаяся легкая монета. Иначе,
монета на нижней чаше весов - фальшивая, причем она тяжелая.
}
}
}
wink.gif

Добавлено @ 08:56
вот зараза, отступы не работают sad.gif , ладно может так поймете.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)