Добрый день всем любителям математики! Решился написать данную статью, чтобы собрать воедино самые лучшие и вирусные задачки про взвешивания. Старался выстроить решения максимально точно, чтобы избежать обидных неточностей.
Для начала немного теории:
Из книги Д.А. Михалин, И.М. Никонов, Одна задача о нахождении фальшивой монеты, Матем. просв., 2007, выпуск 11, 149–158:
Максимальное число монет Q1, среди которых можно найти фальшивую и определить ее относительный вес за k взвешиваний определяется по формуле:
Q1 = (3k — 3)/2
Максимальное число монет Q2, среди которых можно найти фальшивую, не определяя ее относительный вес за k взвешиваний определяется по формуле:
Q2 = (3k — 1)/2
Максимальное число монет Q3, среди которых можно найти фальшивую, не определяя ее относительный вес за k взвешиваний, когда в распоряжении есть одна настоящая монета определяется по формуле:
Q3 = (3k + 1)/2
Таким образом, Q1, Q2 и Q3 для двух взвешиваний равно, соответственно, 3, 4 и 5 монет. Q1, Q2 и Q3 для трех взвешиваний равно, соответственно, 12, 13 и 14 монет.
Имеется 5 одинаковых на вид монет, одна из которых фальшивая, но неизвестно, легче она или тяжелее, чем другие. Также имеется еще одна монета, о которой известно, что она настоящая. Как за 2 взвешивания на двухчашечных весах без гирь найти фальшивую?
Специальным образом пронумеруем монеты: присвоим им двузначные номера 00, 11, 21, 20, 12. Присвоим заведомо настоящей монете номер 02.
Для первого взвешивания положим на одну чашу весов те монеты, у которых старший разряд равен 0 (то есть 00, 02), а на другую — те монеты, у которых он равен 2 (20, 21). Если перевесит чашка с «0», запишем на бумажке цифру 0. Если перевесит «2» — запишем 2. Если чаши весов останутся в равновесии — запишем 1.
Для второго взвешивания на одну чашу выложим монеты 00, 20 (то есть все те монеты, у которых второй разряд равен 0), а на другую — 12, 02 (то есть те монеты, у которых второй разряд равен 2). Запишем результат взвешивания таким же образом, что и при первом взвешивании.
Мы получили двузначное число. Далее определяем фальшивую монету по следующему принципу:
Если это число совпадает с номером какой‑то монеты, то эта монета фальшивая и тяжелее остальных. Если нет, то заменим в этом числе все нули на двойки, а все двойки на нули. После этого оно должно совпасть с номером какой‑то монеты. Эта монета фальшивая и легче остальных.
Если оба взвешивания привели к равенству, фальшивая монета — 11, так как она не участвовала во взвешиваниях.
Объяснение решения:
Присвоим каждой монете двузначное обозначение, состоящее из знаков «больше», «меньше» и «равно» (которые можно поменять на цифры 0, 2 и 1). Первый знак отвечает за первое взвешивание, второй — за второе. Монеты можно класть на любую из чаш, но нужно менять чашу, если следующий знак также меняется. Например, для монеты «меньше, больше», если при первом взвешивании мы положили ее на левую чашу, то при втором взвешивании нужно положить ее на правую (или наоборот). В приведенном решении цифры подобраны так, что знаков «больше» (0) и «меньше» (2) по два в каждом разряде, поэтому, для удобства, монеты со знаком «больше» кладутся на левую чашу, а со знаком «меньше» — на правую. Для решения не обязательно придерживаться такого правила. Главное — менять чашу при смене знака и распределять монеты по две на каждой чаше при каждом взвешивании.
Если у монеты в обозначении в первом или втором разряде стоит знак «равно», она в соответствующем взвешивании не участвует. Например, монета с обозначением «больше, равно» во втором взвешивании участвовать не будет. Так как мы не знаем в начале, легче или тяжелее фальшивая монета, нужно отбросить варианты, которые получаются заменой знаков «больше» и «меньше» на противоположные. С этой точки зрения, например, «больше, больше» и «меньше, меньше» — это одинаковые обозначения, поэтому нужно оставить только один из них.
Если соблюсти эти условия, различных вариантов у нас получится пять. Например, «больше, больше», «равно, равно», «меньше, равно», «меньше, больше», «равно меньше», и два взвешивания однозначно укажут на одну из монет (или на монету с противоположными знаками). Монета с обозначением «равно, равно» не будет участвовать ни в одном из взвешиваний. Если оба взвешивания привели к равенству, то фальшивая монета именно она. Заведомо настоящей монете присвоим любое обозначение. Она необходима для того, чтобы в обоих взвешиваниях у нас участвовало по две монеты с каждой стороны (если бы ее не было, то при каждом взвешивании у нас было бы две монеты с одной стороны и одна с другой).
Если монета, которую мы обозначили «равно, равно» настоящая, то мы сможем определить относительный вес фальшивой монеты, если же она фальшивая, то установить ее относительный вес не удастся, так как она не участвует во взвешиваниях.
Из двенадцати монет одиннадцать настоящих, а одна фальшивая (она отличается по весу от настоящей, но неизвестно, тяжелее или легче). Требуется за три взвешивания на двухчашечных весах без гирь найти фальшивую монету и выяснить, легче она или тяжелее настоящей.
Решение из книги Алфутова Н.Б., Устинов А.В. Алгебра и теория чисел.
Специальным образом пронумеруем монеты: присвоим им трехзначные номера 001, 010, 011, 012, 112, 120, 121, 122, 200, 201, 202, 220.
Для первого взвешивания положим на одну чашу весов те монеты, у которых старший разряд равен 0 (то есть 001, 010, 011, 012), а на другую — те монеты, у которых он равен 2 (200, 201, 202, 220). Если перевесит чашка с «0», запишем на бумажке цифру 0. Если перевесит «2» — запишем 2. Если чаши весов останутся в равновесии — запишем 1.
Для второго взвешивания на одну чашу выложим монеты 001, 200, 201, 202 (то есть все те монеты, у которых второй разряд равен 0), а на другую — 120, 121, 122, 220 (то есть те монеты, у которых средний разряд равен 2). Запишем результат взвешивания таким же образом, что и при первом взвешивании.
Третьим взвешиванием сравниваем 010, 020, 200, 220 с 012, 112, 122, 202 (соответственно, нули и двойки в младшем разряде) и записываем третью цифру таким же образом, как в двух предыдущих.
Мы получили три цифры — иначе говоря, трехзначное число. Далее определяем фальшивую монету по следующему рецепту:
Если это число совпадает с номером какой‑то монеты, то эта монета фальшивая и тяжелее остальных. Если нет, то заменим в этом числе все нули на двойки, а все двойки на нули. После этого оно должно совпасть с номером какой‑то монеты. Эта монета фальшивая и легче остальных.
Решение из книги Шклярский Д.О., Ченцов Н.Н., Яглом И.М. Избранные задачи и теоремы элементарной математики.
Разделим наши монеты на три группы по четыре монеты в каждой. При первом взвешивании поместим на каждую чашку весов по группе из четырех монет. Возможны два варианта:
1. Чашки весов уравновесились.
2. Одна из чашек перевесила.
Рассмотрим оба варианта в отдельности.
1. При первом взвешивании чашки весов уравновесились. Следовательно, фальшивая монета находится в оставшейся группе, а 8 монет на весах — настоящие. Перенумеруем монеты из оставшейся группы: 1, 2, 3, 4. Положим при втором взвешивании монеты 1, 2 и 3 на одну чашку, а на другую — три монеты из числа восьми заведомо настоящих. Возможны два случая:
А) Чашки весов уравновесились. Тогда монета 4 — фальшивая. Сравнивая третьим взвешиванием ее с настоящей, мы находим, легче она или тяжелее, чем настоящая.
Б) Одна из чашек перевесила. В этом случае фальшивой является одна из монет 1, 2 или 3. При этом, если перевесила чашка с настоящими монетами, то фальшивая монета легче настоящих; одним взвешиванием мы без труда выделяем более легкую из трех монет: 1, 2 и 3. Если же перетянула чашка с монетами 1, 2, 3, то фальшивая монета тяжелее настоящих; и в этом случае ее легко определить одним взвешиванием.
2. При первом взвешивании одна из чашек весов перевесила. Тогда все монеты в оставшейся группе — настоящие. Обозначим монеты, лежавшие на перевесившей чашке, через 1, 2, 3, 4 (если одна из этих монет фальшивая, то она тяжелее настоящих), а монеты на другой чашке — через 1', 2', 3', 4' (если одна из этих монет фальшивая, то она легче настоящих). При втором взвешивании поместим на одну чашку монеты 1, 2 и 1', а на другую — монеты 3, 4 и 2'. Возможны два случая:
А) Чашки уравновесились. Тогда фальшивая одна из монет 3' или 4' (и при этом она легче настоящих). При третьем взвешивании поместим на одну чашку весов монету 3', а на вторую — монету 4'; та из этих монет, которая окажется легче другой, и будет фальшивой.
Б) Перевесила чашка с монетами 1, 2, 1'. В этом случае монеты 3, 4 и 1' — настоящие; в самом деле, если бы одна из монет 3, 4 была бы тяжелее остальных, или монета 1' была бы легче остальных, то при втором взвешивании чашка, на которой лежат монеты 3, 4 и 2', должна была бы перевесить, чего на самом деле не случилось. Итак, фальшивой является одна из монет 1, 2 (в этом случае фальшивая монета тяжелее настоящих) или 2' (в этом случае фальшивая монета легче настоящих). Положим при третьем взвешивании на одну чашку монету 1, а на другую — монету 2. Если чашки уравновесились, то фальшивая монета 2', а если одна из чашек перевесила, то на перевесившей чашке лежит фальшивая монета.
Имеется 12 одинаковых на вид монет, одна из которых фальшивая, но неизвестно, легче она или тяжелее, чем другие. Как за 3 взвешивания на двухчашечных весах без гирь найти фальшивую?
Занумеруем монеты числами от 1 до 12.
Кладём на чаши наборы 1, 2, 3, 4 и 5, 6, 7, 8. Возможны два случая:
-
Весы в равновесии. Это значит, что фальшивая среди оставшихся монет с номерами от 9 до 12. Сравниваем монеты 9 и 10 с 1 и 2. Возможны 2 варианта:
Если весы в равновесии, то фальшивая одна из двух — 11 или 12. Сравниваем монету 11 с монетой 1. Если равновесие, то фальшивая монета 12, в противном случае фальшивая монета 11.
Если равновесия нет, то фальшивая — одна из 9 и 10, причем известно даже, легче она или тяжелее настоящей. Аналогично предыдущему случаю, фальшивая монета находится сравнением монеты 9 с монетой 1. (Либо можно просто сравнить 9 и 10 между собой, так как мы уже знаем, легче фальшивая монета или тяжелее.)
-
Одна из чаш (для определённости — левая) легче, значит, фальшивая монета среди взвешиваемых. Кладём на чаши наборы 9, 10, 11, 4 и 1, 2, 3, 8. Возможны три случая:
Левая чаша по‑прежнему легче. Тогда фальшивая одна из двух монет: 4 или 8 (их положение не менялось). Сравниваем монету 4 с монетой 1. Если равновесие, то фальшивая монета 8, в противном случае фальшивая монета 4.
Весы уравновесились. Фальшивая одна из монет 5, 6, 7, причём она тяжелее настоящей. Сравниваем монеты 5 и 6. Если они равны по весу, то фальшивая монета 7, в противном случае фальшивая та из них, которая оказалась тяжелее.
Легче стала правая чаша. Фальшивая одна из монет 1, 2, 3, причём она легче настоящей. Аналогично предыдущему варианту, фальшивая монета определяется сравнением монет 1 и 2.
Имеется 13 одинаковых на вид шаров, один из которых легче или тяжелее, чем другие. Как за 3 взвешивания на двухчашечных весах без гирь найти этот шар?
Сначала взвесьте 4 шарика против 4 других шариков. Если они не равны, сделайте следующее:
Обозначьте тяжелые шарики как Т, а легкие шарики как Л, а те, которые вы не взвешивали, как О. Теперь взвесьте 2 Т и 1 Л против других 2 Т и 1 Л. Если они равны, вы знаете, что один из 2 Л, которые вы не взвешивали, и есть тот самый, поэтому взвесьте их друг против друга, и более легкий — это он. Если они не равны, то вы можете исключить два Т на более легкой стороне и Л на более тяжелой стороне, так что это должен быть один из оставшихся 3 шариков (два Т и Л), поэтому взвесьте Т друг против друга, если они равны, это Л, в противном случае это более тяжелый Т.
Если первое взвешивание равно, это должен быть один из 5 шариков, которые вы не взвешивали, в этом случае сделайте следующее:
Обозначьте пять оставшихся подозрительных шариков следующим образом: А, А, Б, Б, С. Обозначьте все остальные шарики О. Взвесьте АА против СO. Если они равны, это должен быть один из Б, поэтому взвесьте Б против О, и если они не равны, это этот Б, в противном случае это другой Б. Если АА тяжелее, чем СO, то взвесьте А против А, и если они равны, это С, в противном случае это более тяжелый А. Если СO тяжелее, чем АА, то взвесьте А против А, и если они равны, это С, в противном случае это более легкий А.
Имеется 14 одинаковых на вид монет, одна из которых фальшивая, но неизвестно, легче она или тяжелее, чем другие. Также имеется еще одна монета, о которой известно, что она настоящая. Как за 3 взвешивания на двухчашечных весах без гирь найти фальшивую?
Присвоим 14 монетам номера 211 (A), 121 (B), 112 ©, 221 (D), 212 (E), 122 (F), 201 (G), 210 (H), 120 (I), 222 (J), 220 (K), 202 (L), 022 (M), 111 (N) по тому же принципу, что и в объяснении к задаче 1, а заведомо настоящей присвоим обозначение X.
Каждая цифра означает, участвует ли монета во взвешивании. Если первая цифра 0 или 2, монета участвует в первом взвешивании. Если 1 — то нет. Аналогично вторая и третья цифра отвечают за второе и третье взвешивание.
Монеты можно класть на любую из чаш, но нужно менять чашу, если следующая цифра также меняется. Например, для монеты 022, если при первом взвешивании мы положили ее на левую чашу, то при втором и третьем взвешивании нужно положить ее на правую.
Монет с цифрой 0 или 2 в каждом из разрядов — по 9 штук. Поэтому, чтобы уравновесить чаши при каждом взвешивании, к группе из четырех монет будем добавлять заведомо настоящую монету X и производить взвешивание 5 на 5 монет.
Один из вариантов взвешивания:
AGJKL — DEHMX
BIJKM — DFGLX
CHJLM — EFIKX
При каждом взвешивании если перевесит левая чашка (можно выбрать любую), запишем на бумажке цифру 0. Если перевесит правая — запишем 2. Если чаши весов останутся в равновесии — запишем 1.
Если записанный номер совпадает с номером одной из монет, то она фальшивая и тяжелее остальных. Если нет, то заменим в этом числе все нули на двойки, а все двойки на нули. После этого оно должно совпасть с номером какой‑то монеты. Эта монета фальшивая и легче остальных. Если все три взвешивания привели к равновесию, то фальшивая монета под номером 111. Так как она не участвовала во взвешиваниях, мы не знаем ее относительный вес).
Можно подобрать монетам номера таким образом, чтобы на левую чашу попадали только «нули», а на правую — только «двойки». Это упростит распределение по чашам и избавит от некоторой путаницы. Тогда в каждом разряде будет по пять «нулей» и четыре «двойки» (или наоборот). В следующем примере монету 000 можно обозначить как 222:
000 (A), 001 (B), 010 ©, 011 (D), 012 (E), 112 (F), 120 (G), 121 (H), 122 (I), 200 (J), 201 (K), 202 (L), 220 (M), 111 (N)
Тогда распределение будет выглядеть следующим образом:
ABCDE — JKLMX
ABJKL — GHIMX
ACGJM — EFILX
Есть 15 одинаковых по внешнему виду монет, одна из них фальшивая. Как двумя взвешиваниями на двухчашечных весах без гирь определить, тяжелее она или легче?
Разделим монеты на три кучки по 7, 4, 4, или по 5, 5, 5, или по 3, 6, 6, или по 1, 7, 7 монет. При первом взвешивании положим на весы две кучки монет одинаковой величины. Если при этом весы оказались в равновесии, значит, все монеты на весах настоящие, а бракованная монета в оставшейся кучке. Тогда при втором взвешивании на одну чашку весов положим кучку с бракованной монетой, а на вторую — такое же количество настоящих монет и определим, легче фальшивая монета, чем настоящие, или тяжелее.
Если же при первом взвешивании весы оказались не в равновесии, значит, все монеты в оставшейся кучке настоящие. Тогда монеты из тяжёлой кучки разделим на две равные части и положим на весы (если в кучке было 5 или 7 монет, предварительно добавим к ним одну настоящую монету). Если при втором взвешивании весы оказались в равновесии, значит, фальшивая монета легче настоящих, а если нет, то тяжелее.
Есть двадцать баночек с таблетками. Почти во всех таблетки весят по 1 г, и только в одной — 1,1 г. У нас есть точные кухонные весы, с помощью которых нужно определить баночку, каждая таблетка которой весит 1,1 г. Как это сделать, если можно взвесить только 1 раз?
Из каждой баночки нужно доставать разное количество таблеток. Из первой баночки 1 таблетку, из второй — 2, из третьей — 3 и так далее. Если бы каждая таблетка весила по 1 г, общий вес составил бы 210 г. Но поскольку в одной из баночек таблетки тяжелее, вес будет больше. Делим разницу на 0,1 и получаем количество таблеток.
Alexandroppolus
Задачу с монетами публиковали на Хабре наверно раз 8. Но почему-то всегда описывают пошаговый алгоритм со всеми ветвями. А надо лишь рассмотреть первое взвешивание и его два возможных исхода. Пусть у нас Q(n) = (3^n + 1)/2 монет, и одна настоящая. Взвешиваем (3^(n-1) + 1)/2 монет против (3^(n-1) - 1)/2 + настоящая
1) Весы поровну. Фальшивая среди оставшихся (3^(n-1) + 1)/2 монет, переход к задаче для Q(n-1)
2) Весы накренились. Имеем набор из 3^(n-1) монет, часть из них "предположительно тяжелые" (которые уехали вниз), другая часть - "предположительно лёгкие". Далее такой комплект всегда можно разделить на 3 равные части, так что в двух частях будет A "легких" и B "тяжелых". Эти две одинаковые по пропорциям части сравниваем, если равны то остается третья, если весы накренились, берем "тяжелые" снизу и "легкие" сверху, в любом случае уменьшив число подозреваемых в 3 раза. И т.д.
marsel84 Автор
Да, есть публикации, но часто содержащие ошибки. Хотелось собрать в одной теме наиболее популярные типы задач и их решения.