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

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

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

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

Условия:

  • В продуктовый магазин привезли два пакета — с орехами и сухофруктами. 
  • Продавец ссыпал всё в один пакет и перемешал.
  • Продавец сложил стоимость привезённых орехов с сухофруктами и поделил на общий вес в 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