Здравствуйте, NovaMind, Вы писали:
NM>Есть 12 монет.
NM>Одна отличается по весу.
NM>За 3(три) взвешиваня найти эту монету и определить тяжелее она или легче.
NM>Image: Libra2.jpg
Задача сводится к последующему взвешиванию (начиная со второго) с отбрасыванием 3х: перестановкой 2х c заменой одной на взвешенную.
Первое взвешивание:
4 x 4, если равно, то монета в остальных 4х: (fixed) решение для них тут:
http://rsdn.org/forum/education/7677064Автор: Vain
Дата: 10.03.20
Разность на весах покажет, что фальшивая монета на весах. Равно покажет — в оставшейся стопке.
Второй взвешивание:
(A)
<проверяемые> | <остаток>
o o o o : o o o o | o o o o
x1 x2 x3 x4 y1 y2 y3 y4 | z1 z2 z3 z4
Тут делаем финт ушами до такого:
(B)
<проверяемые> | <остаток>
o o o : o o o | o o o
x1 y1 y2 x2 x3 z1 | x4 y3 y4
(C)
<проверяемые> | <остаток>
o : o | o
y3 x4 | y4
+ у нас информация с предыдущего шага: больше или меньше, т.к. на равно мы уже проверили и монета бы была найдена среди z1..z4.
Первые два взвешивания:
монета | (A) | (B)
-------+-----+-----
x1 > < | > < | > <
x2 > < | > < | < >
x3 > < | > < | < >
y1 > < | < > | > <
y2 > < | < > | > <
Если (B) даёт равно, то взвешиваем (C):
монета | (A) | (C)
-------+-----+-----
x4 > < | > < | < >
y3 > < | < > | > <
y4 > < | < > | =
Если (B) даёт разность, то осталось проверить x2, x3, y1, y2, т.к. x1 имеет уникальный паттерн.
(D)
<проверяемые> | <остаток>
o o : o o | o
x2 y1 x3 z1 | y2
монета | (A) | (B) | (D)
-------+-----+-----+----
x2 > < | > < | < > | > <
x3 > < | > < | < > | < >
y1 > < | < > | > < | > <
< — меньше/легче
> — больше/тяжелее
Как то так.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]