Как за два взвешивания найти тяжелую монету

Время на прочтение
3 мин

Количество просмотров 204K

Сегодня я снова хочу вернуться к теме о задаче нахождении фальшивой монеты методом взвешивания на весах без циферблата.

Наиболее распространенные из таких задач — определение количества взвешиваний для выявления фальшивой монеты, если:

1) неизвестно какая она по весу;
2) известно, что она легче/тяжелее остальных.

Или обратная задача: можно ли за определенное количество взвешиваний выявить фальшивую из заданного количества монет.

1. Давайте сначала разберемся с 2 вариантом, который является частным случаем варианта 1.

Некоторое время назад, я на Хабре уже описывал решение такой задачи, но в одном из комментариев было замечание о немного странном первом разделении монет, по-этому предлагаю другой алгоритм решения. Хотя результат будет тот же и формула решения задачи остается та же:

N >= log3A,

где N — максимально необходимое количество взвешиваний, натуральное число, округленное в большую сторону;
A — количество монет.
Которая выведена на основании опытов (за 1 взвешивание можно найти одну фальшивую из 3-х монет, за 2 — из 9, за 3 — из 27 и т.д.)

Сам алгоритм решения простой, и я покажу его на примерах

1) Пусть у нас есть 26 монет. Нужно найти одну, которая легче/тяжелее

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

A = 2 * B + C,

где A — количество монет;
B — частное от деления количества монет на 3, натуральное число, округленное в большую сторону;
C — остаток.

По условию задачи

26/3 = 8.666(6),

26 = 2 * 9 + 8,

При первом взвешивании будут сравниваться две группы: правая (ПГ) — 9 монет и левая (ЛГ) — 9 монет.

Далее у нас возможны два варианта:

1) фальшивая монета в левой/правой группе (9 монет)
2) фальшивая монета в остатке (8 монет)

для 1 варианта следующее деление на группы будет — 9 = 2 * 3 + 3;
для 2 варианта — 8 = 2 * 3 + 2

Ну и за одно взвешивание можно определить какая из 2 или 3 монет легче/тяжелее

Этот же результат я приведу в таблице

№ взвешивания Число монет ЛГ ПГ Остаток
1 26 9 9 8
2 8 3 3 2
2 9 3 3 3
3 2 1 1 0
3 3 1 1 1

по формуле — log326 =2.9656 — соответственно количество взвешиваний — 3.

еще пример:
число монет- 71. По формуле log371 =3.8800 — количество взвешиваний — 4. Проверяем

№ взвешивания Число монет ЛГ ПГ Остаток
1 71 24 24 23
2 23 8 8 7
2 24 8 8 8
3 7 3 3 1
3 8 3 3 2
4 2 1 1 0
4 3 1 1 1

Ну с алгоритм решения этих задач, я думаю, понятен.

2. Теперь перейдем к задачам, в которых не известно легче монета или тяжелее.

В данном случае я предлагаю такое первое действие: разделить монеты на четыре группы, три — с максимально одинаковым количеством монет, а в четвертой группе — остаток. Причем в остатке должны быть 1 или 2 монеты. То есть при делении на 3 частное округляется до меньшего натурального числа.

A = 3 * B + C,

где A — количество монет;
B — частное от деления количества монет на 3, натуральное число, округленное в меньшую сторону;
C — остаток.

Например, для 58-ми монет — это будет 58 = 3 * 19 + 1, для 23 = 3 * 7 + 2, для 15 = 3 * 5 + 0 и т. д.

Далее выполняем два взвешивания:
1) первая и вторая группы;
2) первая и третья группы;
и анализируем результат.
Здесь возможны четыре варианта:1, 2, 3 — это первая, вторая или третья группа отличаются по весу от двух остальных, или они равны, тогда нам повезло, так как фальшивая — в остатке. Так же два взвешивания помогают определить определить тяжелее фальшивая монета или легче. Кстати, если в остатке две монеты, то нужно выполнить еще 2 взвешивания для определения фальшивой монеты.

Теперь у нас есть задача: определить одну фальшивую монету из группы, которая легче/тяжелее.
Что касается формулы, то она примет следующий вид

N >= log3B + 2,

где N — максимально необходимое количество взвешиваний, натуральное число;
B — количество монет в группе после второго взвешивания.
А если учесть, что B = A/3, где A — количество всех монет, тогда получим:

log3B = log3A — 1,
N >= log3A + 1

Итог:

1) если известно, что фальшивая монета легче/тяжелее, тогда максимальное число взвешиваний определяется по формуле:

N >= log3A

2) если не известно, какая фальшивая, тогда максимальное число взвешиваний определяется по формуле:

N >= log3A + 1

где N — максимально необходимое количество взвешиваний, натуральное число, округленное в большую сторону;
А — количество монет.

Давайте идти самым простым путём.

Взвесить монеты по две. Те что тяжелее в правую кучку,а те.что легче в левую. Таких взвешиваний 34. А монет в каждой куче тоже по 34.

Теперь в куче тяжёлых монет взвешиваем монеты по две.Те монеты,что тяжелей оставляем,а те,что легче откидываем в сторону-ведь самой тяжёлой среди них быть не может. На это ушло 17 взвешиваний,а монет осталось 17. Тоже самое делаем с кучей лёгких монет.

От оставшихся 17 тяжёлых отделяем одну любую и взвешиваем 16 оставшихся монет по тому же алгоритму.То есть взвешиваем за 8 взвешиваний затем за 4,затем за 2,затем с учётом откинутой семнадцатой опять за два. При этом всё время откидываем более лёгкие монеты. Находим самую тяжёлую,и ушло на это 16 взвешиваний.

По тому же пути из кучки лёгких монет находим самую лёгкую,только при этом откидываем более тяжёлые монеты.На это уходит 16 взвешиваний.

Теперь проверим общее количество взвешиваний: 34+17+17+16+16=100

Ответы

Ray Alex

Ray Alex

разделим монеты на 3 кучи по 3 монеты в каждой
1взвешивание : Ввзвесим 1 и 2 кучу. Если они равны, то монета в 3-й куче.
Сразу переходим ко 2-му взвешиванию монет 3-й кучи.
Если они не равны, возмем ту кучу, которая весит меньше и переходим ко 2-му взвешиванию
2 взвешивание Возьмем 2 монеты из выбранной кучи( см 1 взвешивание) и взвесим.
Если монеты весят одинаково, то фальшивая монета — оставшаяся.
Если они весят не одинаково, то та монета, которая весит меньше будет фальшивой.

St

Stern

Если на чашечных весах, то делим на три кучки по три шара. Взвешиваем две из них. Если одна тяжелее другой, значит искомый шар в ней, выбираем из этой кучки два шара, взвешиваем — если один шар перевесил, значит это он, если оба шара одинаковые, значит тяжелее тот, что остался. Если первым взвешиванием обе кучки одинаковые, значит тяжелый шар в третьей кучке, применяем второй шаг взвешивания к ней.

ВМ

Виталий Майстренко

1 взвешивание: сравниваем 1 и 2 кучки,
если обе кучки равны, то монеты все настоящие, а фальшивая находится в 3 кучке
если одна кучка перевешивает, то там и находится фальшивая

2 взвешивание: сравниваем две монеты из 3-ей кучки по принципу первого взвешивания.
если обе монеты равны, то они настоящие,
если одна перевешивает, то она и есть фальшивая.

во первых даже мозг не напряг с ответом, во вторых ты захотел отличиться и полез в интернет. но даже там поленился со второго раза выделить текст с ответом… убедительно?

Ирина Кибус

Ирина Кибус

Ни чего другого не придумала: сначала сравнить на весах любые 2 монеты ,если повезет, то и первого раза выявится тяжелая монета, если нет, то добавить по три монеты, чтоб весы оставались в равновесии, оставшаяся- тяжелая

Valentin Sibilev

Valentin Sibilev

разделить по три, и взвешать сначала 2 кучки монет и тем самым выявить в какой кучке та монета, что тяжелее а потом эту кучку разбить на отдельные монетки и взвесить две из них тем самым выявить какая тяжелее

Александр Макаров

Александр Макаров

разбиваем на 3 кучки по 3 монеты, взвешиваем произвольные две, определяем тяжелую кучку: равновесие — тяжелая не на весах, одна перевешивает — она и есть тяжелая. с тяжелой кучкой проводим ту же операцию….

Дмитрий Иванников

Дмитрий Иванников

мужики почти все угадали. а бабы сидят какую то херь несут! такое чувство что все блондинки тупорылые

Тамара Андреева

Тамара Андреева

Я не знаю правильного ответа.Но после войны мы делали битки для игры и пробовали на зуб.Та которая отличалась,была из другого металла.ЕЕ мы взвешивали с остальными и видели легче она или нет.

ЛЛ

Лана Лана

Взять по три монеты,взвесить 2 кучки,если ровно,то фальшивая в третьей,взвешиваем из той кучи по 1монете,если ровно,то третья фальшивая…..ну как то так

АШ

Алексей Шубин

Делим на три кучки, взвешиваем любые две… в вычлененной подозрительной взвешиваем две монеты. Результат найден!

RB

Rus Best

ВЗВЕШИВАЕМ ПО ТРИ МОНЕТЫ, ЕСЛИ ВЕСЫ РАВНЫЕ, ТО В ТРЕТЬЕЙ ТРОЙКЕ ВЗВЕШИВАЕМ 2 МОНЕТЫ…ВСЁ БУДЕТ ВИДНО

RB

Rus Best

из того же…..у вас 5 мешков с 5 копеечными монетами, в одном фальшивки, нормальные монеты весят 3 грамма, а фальшивка 5. как одним взвешиванием определить в каком мешке фальшивки????)))))

Kr

Kriz 0X

по три монеты с каждой стороны — 1е взвешивание. 2е — по монете из группы которая по массе не подходит.

Ирина Волкова

Ирина Волкова

делим на тройки, взвешиваем две, если одинаковые, то взвешиваем монеты в третей тройке

Марина Грабарчук

Марина Грабарчук

сначала взвесить 4 и потом 4, сверить вес, если будет равный, то 9 монета точно тяжелее.

*N

* Nadiya

если они в каком-то сосуде, то можно потрясти и тяжелая будет в самом низу, я думаю

Грета

Грета

ну смотря какого достоинства))))))))))))) может и искать не надо))))))))))))))

M*

Marina *****

Я настолько давно изучала физику, что сразу и не сообразить….

Дмитрий Иванников

Дмитрий Иванников

а физика тут не причем. тут из физики только весы мы взяли, остальное все логика

НВ

Ночь В Буре

я бы даже не парился над этим. хорошо что хоть монеты есть ))))))

Оля Просто

Оля Просто

9 одинаковых? Так какие же они одинаковые, если одна тяжелее

Разминка для мозга: сможете решить задачу про фальшивую монету? Проверьте!


25 августа 2020

Отдых

Есть 12 монет, среди них одна поддельная. Помогите математику обнаружить её всего за три взвешивания.

Фото автора Анастасия Сукманова

Анастасия Сукманова

Разминка для мозга: сможете решить задачу про фальшивую монету? Проверьте!

Избранное

За критику налоговой системы император заточил в темницу величайшего математика страны. Но однажды пленнику представился шанс вновь обрести свободу. Один из 12 наместников императора уплатил налог фальшивой монетой, которая уже попала в казну. Император пообещал освободить математика, если тот сумеет найти подделку.

Кадр: TED‑Ed/YouTube

Перед пленником поставили стол, на котором были чашечные весы, карандаш и 12 одинаковых на вид монет. А потом сказали, что фальшивка отличается от остальных денег по весу в большую или меньшую сторону. Взвесить монеты разрешили лишь трижды. Как математику вычислить подделку?

Показать ответ

Скрыть ответ

Читайте также

  • Сложная задачка про голубоглазых пленников, которые застряли на острове
  • Задача про пленников и колпаки, цвет которых нужно определить
  • Задача про тайник Леонардо да Винчи, в который не так-то легко пробраться

2000 монет

engelan Дата: Вс, 03.01.21, 15:51 | Сообщение # 1

Знаток

Награды: 0

Совы: 0

Есть 2000 внешне одинаковых монет, из которых ровно 4 тажелые. Вес обычных  одинаков, вес тяжелых тоже одинаков. Нужно за два взвешивания на чашечных весах без гирь найти хотя бы 250 гарантированно обычных монет.

 
никник Дата: Вс, 03.01.21, 17:14 | Сообщение # 2

Гений


Между своеобразной логикой и откровенной глупостью иногда очень тонкая грань.

Сообщение отредактировал никникВс, 03.01.21, 17:25

 
engelan Дата: Вс, 03.01.21, 17:35 | Сообщение # 3

Знаток

Награды: 0

Совы: 0

Цитата никник ()

б) они равны, значит в каждой из них не более 2 тяжелых монет. Убираем одну из завешенных кучек (1), на ее место кладем незавешенную (3), и из 2й берем 2 монеты помечаем их и докладываем к 3й кучке. 2) Завешиваем.б1) 2 кучка легче 3й, если в ней было 2тм, то в 3й не было ни одной, при перекладывании 1тм, они были бы равны, значит либо в ней не было тм, либо мы тм переложили, т.е. теперь в ней тм нет. Имеем 666 гарантированно обычных монет в уменьшенной 2й кучке. Либо в ней была и  осталась 1 тм а в 3й 2

 тут не соглашусь.

шаг 1. 668(1)=668(2),      664(3), тут имеем в  1 и 2 по 0, по 1 или по 2, соответственно в 3 имеем 4,2,0

664(3)+2*  и   668(2)-2*      668(1)  в стоорне

шаг2.  664(3)+2*  >   668(2)-2*, тут всегда такой знак и будет

если первом шаге было 0, то в 3 было 4 тяжелых, тут чистые 1 и 2
если при первом шаге было по 1, то в 3 было 2, тут чистые  в 664(3)+2*-или 2 тяжелый, если в 2* тяжелых нет, или же 3 тяжелых, если в 2* есть тяжелый, в таком случае мы не имеем чистых  250 или более

 
никник Дата: Вс, 03.01.21, 18:06 | Сообщение # 4

Гений

Цитата engelan ()

Либо в ней была и  осталась 1 тм а в 3й 2 тут не соглашусь.

Так я ж и зачеркнул все кроме этой фразы. Потому что, да, этот вариант я прочирикал, а с ним не бьется. Не стер потому, что исправлять удобней, чем писать заново.

Добавлено (03.01.2021, 18:13)
———————————————

Цитата engelan ()

шаг2.  664(3)+2*  >   668(2)-2*, тут всегда такой знак и будет

почему, если в 3 было и осталось 0, а в 1 и 2 по2, то знак обратный


Между своеобразной логикой и откровенной глупостью иногда очень тонкая грань.

Сообщение отредактировал никникВс, 03.01.21, 18:17

 
engelan Дата: Вс, 03.01.21, 20:24 | Сообщение # 5

Знаток

Награды: 0

Совы: 0

Один вариант не сходится. Все перепробовал, не выходит ни как. Интересная задачка

 
nebo Дата: Вс, 03.01.21, 20:36 | Сообщение # 6

Высший разум

Эта задача 100500 раз тут решалась, посмотрите в решённых задачах и три года назад, и раньше, и позже.

 
никник Дата: Пн, 04.01.21, 00:23 | Сообщение # 7

Гений

nebo, что-то я не помню задачу с такой особенностью, когда нужно найти меньше, чем энную часть монет, но и за меньшее количество взвешиваний. Была задачка с отравленным вином, но все же заметно другая, имхо.
 Конечно, если даннная задача не имеет решения, то помнится была задачка, где выводилось минимальное количество завесов. Но, возможно, особенность этой задачи позволяет выработать стратегию, не рассматривавшуюся в той задаче.
Ну и как-то трудно упрекать новенького, что он не видит архивных задач, добраться до которых даже с моим знанием сайта представляет изрядную головоломку.


Между своеобразной логикой и откровенной глупостью иногда очень тонкая грань.

 
Фигаро Дата: Пн, 04.01.21, 02:02 | Сообщение # 8

Мыслитель

Награды: 20

Возможно здесь нужно на 8 частей разбить, каждую кучку пометить, положить в ряд, но небязательно cheesy — 1 кучка, 2 кучка,,3,4, 5,6,7,8.
на первом взвешивании взвешиваем кучки под номерами 1,2,3 / 4,5,6.
на втором взвешивании делаем смещение какое-нибудь, например 7,2,3 / 4,5,6,
дальнейшую схему думаю не сложно придумать, главное задача сводится к варианту 8 объектов и 2 взвешивания по три объекта, а это уже решаемо, как мне интуиция подсказывает, хотя с первого взгляда ощущается недостаток информации от двух взвешиваний, Завтра подумаю, напишу схему, если ни кто раньше не выложит.


ʎʞнɐнԑи ɐн ʎdǝфɔ
৭ꓕɐʚиhɐdoʚыʚ
ꙕǝᥕʎ

Сообщение отредактировал ФигароПн, 04.01.21, 03:10

 
nebo Дата: Пн, 04.01.21, 13:25 | Сообщение # 9

Высший разум

На сколько бы кучек не делить монеты, гарантированного решения за два хода нет.
За два хода можно решить, если в первом же взвешивании есть разница в весе, неважно, сколько монет в кучке.
Самое элементарное, делим по 1000, есть перевес, значит сразу понятно, что в одной тысяче 1 монета в другой 3 монеты.
Второе взвешивание даёт результат.
Но это частное решение задачи.
Если сразу вес одинаков, то это может означать при делении на две кучки по 1000, что и там и там по две монеты.
Далее гарантированное решение возможно только путём ещё двух взвешиваний.

Если делить мельче, то при равенстве, например, 500 и 500 на чашках, оставив в стороне 1000 возможны
три варианта, каждая кучка не содержит монеты другого веса, каждая кучка содержит по одной монете другого веса,
каждая кучка содержит по две монеты другого веса.
Для решения нужны ещё два хода. Т.е. всего три.

 
engelan Дата: Пн, 04.01.21, 13:38 | Сообщение # 10

Знаток

Награды: 0

Совы: 0

Цитата nebo ()

На сколько бы кучек не делить монеты, гарантированного решения за два хода нет.За два хода можно решить, если в первом же взвешивании есть разница в весе, неважно, сколько монет в кучке.
Самое элементарное, делим по 1000, есть перевес, значит сразу понятно, что в одной тысяче 1 монета в другой 3 монеты.
Второе взвешивание даёт результат.
Но это частное решение задачи.
Если сразу вес одинаков, то это может означать при делении на две кучки по 1000, что и там и там по две монеты.
Далее гарантированное решение возможно только путём ещё двух взвешиваний.

Если делить мельче, то при равенстве, например, 500 и 500 на чашках, оставив в стороне 1000 возможны
три варианта, каждая кучка не содержит монеты другого веса, каждая кучка содержит по одной монете другого веса,
каждая кучка содержит по две монеты другого веса.
Для решения нужны ещё два хода. Т.е. всего три.

ответ есть,  про  11 монет логика такая же у Вас, я ответ скинул, этот пока не решил. За 2 можно найти.

 

Понравилась статья? Поделить с друзьями:
  • Как найти общую площадь жилых зданий
  • Kingdom come deliverance дым квадратный как исправить
  • Как найти свой логин телеграмм
  • Ошибка 1105 kyocera при сканировании как исправить
  • Cant complete world script module dayz ошибка как исправить