Непростая задача про орехи

Посчитать легко, но сложно найти правильный алгоритм.

Непростая задача про орехи

Сегодня рассмотрим одну из самых ненавистных, алгоритмически неочевидных и вместе с тем простых в решении задач — классическую задачу на смешивание. Это программа собеседований и школьных олимпиад.

Условия:

  • В продуктовый магазин привезли два пакета — с орехами и сухофруктами. 
  • Продавец ссыпал всё в один пакет и перемешал.
  • Продавец сложил стоимость привезённых орехов с сухофруктами и поделил на общий вес в 32 килограмма. Получилась цена смеси в 285 рублей за килограмм.
  • Вскоре накладные на товар потерялись, и мы больше не знаем, сколько килограмм было в каждом пакете по отдельности.
  • Но мы знаем стоимость предыдущих поставок: 300 рублей за килограмм орехов и 240 за кило сухофруктов.

Задача: узнать вес привезённых пакетов с орехами и сухофруктами, чтобы поставить их на учёт.

Начнём с того, что у нас есть: посчитаем общую стоимость смеси, которая получилась в итоге.

32 килограмма × 285 рублей/кг = 9120 рублей.

Теперь неинтуитивная часть. Находить решение задачи мы будем через разницы стоимостей каждого из компонентов смеси. Сначала мы поймём, сколько стоила бы смесь, если бы в ней были только орехи или только сухофрукты. И потом через разницу сможем установить всё, что нужно. 

Если бы вся смесь была только из сухофруктов по 240 рублей за кило, то она бы стоила:

32 килограмма × 240 рублей/кг = 7680 рублей. 

Но наша смесь стоит дороже, потому что в ней есть орехи. Из-за того, что к сухофруктам добавили дорогие орехи, они стали стоить на 9120 − 7680 = 1440 рублей. Это общая разница в стоимости между итоговой смесью и одними сухофруктами.

Разница между стоимостью одного килограмма орехов и сухофруктов = 300 − 240 = 60 рублей. Другими словами, каждый килограмм орехов в этой смеси делал бы ее стоимость на 60 рублей больше. Если бы мы взяли 31 кг сухофруктов и 1 кг орехов, то общая стоимость была бы 7680 + 60 рублей. Если бы мы взяли 30 кг сухофруктов и 2 кг орехов, то 7680 + 120 рублей.

Если продолжить так добавлять орехи, то в какой-то момент разница в стоимости станет 1440 рублей — именно эту разницу мы вычислили чуть выше. Осталось понять, сколько раз нужно «подсыпать» орехов в эту смесь, чтобы получить такую стоимость: 

1440 / 60 = 24 килограмма.

А раз вся смесь весит 32 килограмма, легко посчитать вес оставшихся сухофруктов: 32 – 24 = 8 килограмм.

Настоящий кладовщик всегда проверит расчёты, поэтому сделаем как кладовщик:

24 × 300 = 7200 рублей — столько стоят орехи в смеси;

8 × 240 = 1920 рублей  — столько стоят сухофрукты в смеси.

Итого: 7200 + 1920 = 9120 рублей — общая стоимость, всё сходится.

Редактура:

Максим Ильяхов

Художник:

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

Корректор:

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

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Вам может быть интересно
Задача о подозрительном автосалоне
Задача о подозрительном автосалоне

Что будет, если продавать машины дешевле себестоимости.

easy
Задача о деньгах
Задача о деньгах

Пропало 300 рублей, но никто этого не заметил.

medium
Андрюха, у нас логика! Возможно, криминал
Андрюха, у нас логика! Возможно, криминал

Логическая задача о преступности.

easy
Логическая задача про джуна, мидла и их дни рождения
Логическая задача про джуна, мидла и их дни рождения

Да-Да-Нет-Да

easy
За что уволили менеджера?
За что уволили менеджера?

Иногда невнимательность может стоить работы. Сможете разобраться в ситуации?

medium
Задачка на алгоритмы: уничтожить роботов
Задачка на алгоритмы: уничтожить роботов

Прошиваем железяки, чтобы они самоуничтожились.

medium
Ультрасложная задача про шляпы
Ультрасложная задача про шляпы

Кажется, что её невозможно решить

hard
Задача про тест на собеседовании
Задача про тест на собеседовании

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

medium
Индийская задача про деньги и баланс
Индийская задача про деньги и баланс

По отдельности всё верно, а вместе — нет

easy
easy