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

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

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

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

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

Могут ли логика, математика и статистика привести к созданию новой крепкой семьи?

medium
Задача про бейсбольную биту
Задача про бейсбольную биту

Эта задача решается не так просто, как кажется.

easy
Задача про начальника транспортного цеха
Задача про начальника транспортного цеха

Что быстрее — вспомнить формулы за 7 класс или написать программу для решения?

easy
Задачи на рассуждения
Задачи на рассуждения

Правильные решения в запутанных условиях.

easy
Непростая задача про диагональ квадрата
Непростая задача про диагональ квадрата

Для решения нужно выйти за рамки

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

В этой задаче врут почти все.

medium
medium