В аптеку поступило сильнодействующее лекарство - 8 упаковок по 150 таблеток. Следом пришло сообщение, что в этой партии есть несколько упаковок с бракованными таблетками - их вес на 1 мг больше нормальной дозы. Как за одно взвешивание выявить все упаковки с бракованными таблетками? Упаковки можно вскрывать.
Решение.
Следует учинить непересекающиеся подмножества таблеток от разных упаковок:
взять из первой упаковки одну таблетку, из второй - две, из третьей - четыре, из четвёртой - восемь, из пятой - 16, из шестой - 32, из седьмой - 64, из восьмой - 128. Всё это взвесить.
Вычесть из полученного веса идеальный вес (идеальный вес каждой таблетки известен из документации, но можно обойтись и без него - подумайте как).
Полученный излишек веса (он уже нормализован за счёт единичного излишка веса каждой таблетки) перевести в двоичный вид (ведь мы сформировали подмножества по двоичному закону). В этом числе номера разрядов, равные единице, и будут показывать номера бракованных упаковок.
Сложно? Проще на примере:
Допустим, излишек веса составил 68 мг. Сразу ясно, что этот излишек дали таблетки из седьмой, второй и первой упаковки.