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

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

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

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

  • есть 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
Задача: математика против колоды карт
Задача: математика против колоды карт

Интуитивное решение и вероятности

hard
Задача: угадать месяц по двум дням
Задача: угадать месяц по двум дням

Задача про очень умного аналитика

medium
Головоломка про нестандартную площадь
Головоломка про нестандартную площадь

Смогут решить не только лишь все

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

А вы с ней справитесь?

easy
Недетская задача про детей
Недетская задача про детей

Безумный диалог двух программистов может свести с ума любого умного человека, но не вас.

hard
Задача про треугольник и неполные размеры
Задача про треугольник и неполные размеры

Как найти площадь треугольника, если нет точных данных?

easy
medium