Написать алгоритм определения 1 фальшивой монеты, если неизвестно больше или меньше она весит в сравнении с настоящими монетами, на 4 взвешивание. Общее количество монет 22
Написать алгоритм определения 1 фальшивой монеты, если неизвестно больше или меньше она весит в сравнении с настоящими монетами, на 4 взвешивание. Общее количество монет 22
Ответ(ы) на вопрос:
За четыре взвешивания невозможно определить, где фальшивая монета, если количество монет не является степенем двойки (2, 4, 8, 16, 32) и т.д.
Допустим, взвешиваем поровну:
11 на 11, а дальше как? 5 на 6? Там уже можно вычислить только множеством операций, и далеко не за 4 взвешивания.
? - фальшивая
+ - настоящая
dif - знание о весе фальшивой (больше или меньше)
vs - взвешивание
=> - итог взвешивания
1 откладываем
1) 7? vs 7?
if == => 14+ 7? goto 2)
if <> => 7+ 14? goto
2) 4? vs 4+
if == => 18+ 3? goto 3)
if <> => 10+ 4? goto
3) 2? vs 2+
if == => 20+ 1? goto 4)
if <> => 19+ 2? goto
4) 1? vs 1+
if == => фальшивая та что отложена вначале
if <> => нашли
Не нашли ответ?
Похожие вопросы