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