Составить и реализовать на языке PHP алгоритм вычисления конечных габаритов посылки интернет-магазина, имеющей рациональный минимальный объем и состоящей из одного или нескольких товаров разных габаритов. Для упрощения мы исходим из того, что каждый товар имеет форму параллелепипеда. Под габаритами понимается длина, ширина и высота. Так как ориентация товара не важна, и его можно переворачивать на любую из поверхностей, то разделение этих трех параметров условное. Комплектовать товары можно любым способом (переворачивать, ставить друг на друга, ставить рядом и т.д.), главное, чтобы посылка включала все исходные товары, и конечный объем получился минимальным и рациональным. При этом мы исходим из того что, товары в посылке плотно прилегают друг к другу и все соответствующие поверхности товаров (боковые, нижние, верхние) находятся в параллельных плоскостях, то есть мы не ставим товары под углом и наклоном. Конечные искомые габариты посылки определяются максимальным значением по каждому из параметров (длина, ширина, высота), то есть если при комплектовке на товар с бОльшей длиной сверху кладется товар с меньшей длиной, то итоговой длиной посылки считается бОльшая длина, аналогично и для других двух параметров. Под рациональностью подразумевается возможность дальнейшего использования этих вычислений на практике в реальных условиях, то есть вычисления должны опираться на здравый смысл (так как здравый смысл у всех разный, поэтому допускаются незначительные погрешности в результате). Например, для каких-то исходных данных может получиться, что минимальный объем будет достигнут при выкладывании всех товаров в длину, но на практике таким образом укомплектовать товар и его транспортировать будет не возможно. Пример: необходимо укомплектовать в посылку три товара одинаковой высоты, одинаковой ширины, но разной длины (ширины*высота*длина):

1) 0.5м*0.2м*1м

2) 0.5м*0.2м*0.8м

3) 0.5м*0.2м*0.6м

Минимальный объем при этом будет достигнут, если выложить три товара в длину, тогда габариты посылки будут 0.5м*0.2м*2.4м и объем 0.24 м3. Но на практике укомплектовать и транспортировать такую «колбасу» будет неудобно. Поэтому для этого случая оптимальным будет вариант уложить все друг на друга и итоговые габариты посылки будут 0.5м*0.6м*1м и объем 0.3 м3 (объем больше, но расположение рациональнее).

Исходные данные:

Задан список товаров, которых необходимо укомплектовать в одну посылку. По каждому товару определены 4 параметра: длина, ширина, высота, количество. Структура данных может быть любая на ваше усмотрение: ассоциативный массив, двумерный массив и т.д.

Выходные данные:

Три параметра конечной посылки: длина, ширина, высота.

11 лет назад
Web-technolog
Евгений 
37 лет
13 лет в сервисе
Был
9 лет назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Необходимо разработать плагин для Wordpress, который решает следующие задачу: Пользователь регистрируется на сайте и его e-mail автоматически попадает в сервис рассылок (возможность выбора: JustClick, GetResponse, MailChimp) Жду ваших комментариев.

    Завершен
    11 лет назад
  • $7

    Добрый день. Нужна простая почтовая форма для WP используя любой из доступных плагинов (Contact form7,Ninja Forms) с небольшими доработками. Есть ТЗ с полным описанием задачи (вышлю на почту), всего две формы. Спасибо.

    Закрыт
    11 лет назад
  • Нужно исправить ошибки на сайте. joomla 2 virtuemart 2 На сайте http://pan-optic.ru/ в блоке распродаж кнопка купить работает только в самих категориях, на остальных страницах не работает и выдает ошибку в верхнем меню. ...

    Закрыт
    11 лет назад
  • $500

    Нужно наполнить и настроить шаблон http://www.templatemonster.com/ru/demo/47295.html Домен наш. Хостинг наш. Интернет-магазин. Практически все как шаблоне. Наполнение 20 страниц. 1 Главная 1 Страница с Доставкой. 3 ...

    Завершен
    11 лет назад
  • Есть шаблон WP для портфолио (Lens называется) В нем жестко прописана type_post. Нужно сделать, чтобы его можно задать в файле конфига, например, или заменить на другой. Тем, кто разбирается и работает с WP - ...

    Закрыт
    11 лет назад
  • Сделать плагины (приложение) для основных браузеров для свободного входа в онлайн-казино http://ryletka.ru по примеру плагина Cas2play для казино GMSlots: http://www.play-777-slots.com/plugin или вот пример: http://youtu.be/evHPs7D0TVI

    Закрыт
    11 лет назад
  • $1400

    Требования к исполнителю: 1) честность 2) способность брать ответственность за выполненную работу (выполненная работа = отсутствие багов) 3) умение разбираться в чужом коде без документации, умение выяснить причину бага и ...

    Закрыт
    11 лет назад