Задача про таблетки и злого гения

Как логика и ограничения помогают найти банку с отравленными таблетками.

Задача про таблетки и злого гения

Решим ещё одну задачу с тестированием чего-нибудь на мышах! Или на весах! Ещё одна задача из арсенала принимающих на работу и просто правильная гимнастика для мозга. Теперь условия такие:

  • есть 20 баночек с таблетками;
  • в одной из них отравленные таблетки;
  • таблетки из настоящих банок весят по 1 грамму;
  • таблетки из одной отравленной банки — 1,1 грамма;
  • все банки выглядят одинаково внутри и снаружи;
  • есть очень точные весы, на которых можно взвешивать что угодно в любом количестве.

Как за одно взвешивание найти банку с токсичными таблетками?

У нас в распоряжении есть только одно взвешивание. Это значит, что надо найти такой алгоритм, который сразу даст точный и однозначный ответ.

Если мы положим на весы одну нормальную таблетку, они покажут 1 грамм, а если испорченную — 1,1 грамма. Давайте посмотрим, что будет, если из каждой банки мы возьмём по одной таблетке и положим их все на весы:

(19 × 1) + (1 × 1,1) = 20,1.

Отсюда можно сделать два важных вывода:

  • нельзя брать одинаковое количество таблеток из каждой банки, потому что тогда мы не отличим банки друг от друга;
  • одна испорченная таблетка даёт лишний вес в 0,1 грамма.


Раз нужно из каждой банки брать какое-то своё количество таблеток, попробуем сделать так:

  • из первой банки возьмём 1 таблетку;
  • из второй банки — 2 таблетки;
  • из двадцатой банки — 20 таблеток.

По этой схеме у нас получится всего:

1 + 2 + 3 + ... + 19 + 20 = 210 таблеток.

Теперь нам нужно учесть лишний вес в 0,1 грамма, который даёт каждая испорченная таблетка. Получается, что если у нас будет одна такая, то лишний вес составит 0,1 грамма, если две — 0,2 грамма и так далее. Зная общее количество лишнего веса, можно будет вычислить количество испорченных таблеток:

количество испорченных таблеток = лишний вес / 0,1.

Осталось найти лишний вес. Для этого возьмём 210 таблеток по нашей схеме, взвесим их, а от результата отнимем 210 — вес всех таблеток, если бы они были нормальными и весили по одному грамму каждая.

Как это работает на практике

Например, у нас отравлена банка № 14. Раз мы берём из неё по схеме 14 таблеток, которые в сумме весят 14 × 1,1 = 15,4 грамма, то общий вес всех таблеток получится:

196 + 15,4 = 211,4 грамма.

Найдём лишний вес:

211,4 - 210 = 1,4 грамма.

Теперь разделим его на 0,1, чтобы узнать номер отравленной банки:

1,4 / 0,1 = 14.

Как видите, такой способ действительно позволяет за одно взвешивание найти нужную банку с таблетками.

Ни одной мыши не пострадало!

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Вам может быть интересно
Прокачиваем собственный текстовый редактор
Прокачиваем собственный текстовый редактор
medium
Превращаем генератор паролей в настоящую программу
Превращаем генератор паролей в настоящую программу

Настало время настоящего программирования — собираем приложение из исходников.

hard
Загадка о тысяче пробирок
Загадка о тысяче пробирок
hard
Хитрая головоломка про мандарины, секрет которой поймут только те, кто умеет логически мыслить
Хитрая головоломка про мандарины, секрет которой поймут только те, кто умеет логически мыслить

Секрет прост, но его нужно сформулировать

easy
Странная задача про выполнение задач и продуктивность
Странная задача про выполнение задач и продуктивность

Сколько успевает делать помощник?

easy
Старая школьная задача про букварь с неочевидным подвохом
Старая школьная задача про букварь с неочевидным подвохом

Предполагается, что её можно решить в уме

easy
Парадокс средней оценки
Парадокс средней оценки

Как такое возможно: сделать всё по отдельности лучше всех, но проиграть в общем зачёте?

hard
Задача на логику: что в какой коробке?
Задача на логику: что в какой коробке?

Три коробки, два фрукта, один выбор

easy
Как заполнить продуктами целый шкаф
Как заполнить продуктами целый шкаф

Это сложно, но можно

medium
medium