| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Математическая задача |
| Автор: Cashey 17.6.2004, 12:32 |
| Условие: Даны 12 монет, из которых 1 фальшивая. Фальшивая отличается от настоящих по весу, однако не известно в какую сторону. Требуется: За три взвешивания опредилить которая из монет фальшивая и каков ее вес по отношению к настоящим. Решение: Мне известно, что первый шаг к решению этой задачи это разделение 12 монет на 3 группы по 4 монеты в каждой и взвесить две первых группы. Теперь, если вес этих двух групп одинаков, то решение задачи я нашел, но вот как быть если эти первые группы не ровны по весу??? Выручайте народ |
| Автор: Akina 17.6.2004, 14:03 |
| Если они не равны по весу - делаем так: из каждой четверки берем по 3 монеты, по одной меняем местами и взвешиваем. Рассматривай варианты - группы равны по весу, группы не равны и перевешивают в ту же сторону, группы не равны и перевешивают в другую сторону... короче дальше разберешься. |
| Автор: Cashey 17.6.2004, 14:10 |
| Akina у нас остается только два взвешивания, таким способом не укладываемся |
| Автор: GePo 17.6.2004, 14:44 |
| Cashey Я когда-то это решал. Был способ за три совершенно независимых взвешивания определить файльшивую, но сейчас я это не вспомню(вопрос времени |
| Автор: 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 | ||
Да не, в 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 Я вас немного не пойму. Я дал ссылку на решение этой задачи |
| Автор: CaptainFlint 18.6.2004, 14:35 | ||
| GePo Блин, меня сбила твоя фраза
Сейчас восстановил то, что тогда нарешал, собирался уже постить, глянул - а по той ссылке как раз в точности этот способ описан в самом-самом низу страницы (всё не читал, сразу End нажал). |
| Автор: Alex101 18.6.2004, 16:15 | ||
Мда... |
| Автор: beif 19.6.2004, 06:52 |
| Прикольная задачка |
| Автор: 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 | ||
а как ты узнаешь в какой она куче? |
| Автор: S.A.P. 21.7.2004, 08:55 |
| вот 100% алгоритм решения: { Взвесь на рычажных весах две группы по 4 монеты в каждой. Если весы уравновешены, то фальшивая монета среди 4-х оставщихся монет { Сравни любые из 4-х оставшихся монет с 2-мя заведомо хорошими монетами из 8-ми проверенных. Если весы уравновешенны, то { Сравни одну из оставшихся монет с хорошей монетой. Результат взвешивания определит фальшивую монету. } Иначе, фальшивая монета - одна из 2-х потенциально фальшивых монет на весах. { Сравни одну их 2-х монет с хорошей монетой. Результат взвешивания определит фальшивую монету. } } Иначе 4 оставшиеся монеты хорошие. Раздели 8 потенциально фальшивых монет на группу легких и группу тяжелых в зависимости от того, что показали весы при их взвешивании. Помести две тяжелые и одну легкую монету на каждую чашу весов. При этом должны остаться две легкие монеты. Выполни взвешивание. Если весы уравношены, фальшивая монета находится среди 2-х оставшихся монет. { Сравни одну их 2-х монет с хорошей монетой. Результат взвешивания определит фальшивую монету. } Иначе, выбор сужается до 3-х монет - одна из 2-х тяжелых на нижней чаше весов, или легкая на верхней. { Сравни две тяжелые монеты друг с другом. Если весы уравновешены то фальшивая монета - это оставшаяся легкая монета. Иначе, монета на нижней чаше весов - фальшивая, причем она тяжелая. } } } Добавлено @ 08:56 вот зараза, отступы не работают |