Логическая проблема -сколько / каких маленьких ящиков в большом ящике -PHP/MySQL

У меня есть проблема, и я постараюсь описать ее как можно проще.

Используя комбинацию PHP и MySQL, мне нужно решить следующую логическую задачу, это упрощенная версия того, что требуется, но в двух словах логика та же.

Подумайте о коробках. У меня много маленьких коробок и одна большая коробка. Мне нужно иметь возможность заполнить большую коробку, используя множество маленьких коробок.

Итак, давайте сломаем это.

У меня есть таблица в MySQL со следующими строками

Table: small_boxes
id | box_size
=============
1  | 100
2  | 150
3  | 200
4  | 1000
5  | 75
..etc

В этой таблице может быть несколько сотен блоков, причем некоторые поля имеют одинаковый размер

. Теперь у меня есть потребность заполнить одну большую коробку, например, размером 800, всеми комбинациями маленьких _коробок, которые я нахожу в таблице. Большой ящик может быть любого размера, который пользователь пожелает заполнить.

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

Поэтому, если возможно, я хотел бы понять, как решить эту проблему в PHP/MySQL. Я достаточно компетентен в обоих, но проблема заключается в том, как я к этому подхожу.

Примеры были бы фантастическими, но я бы с радостью согласился на небольшую информацию, чтобы начать.

6
задан Big-G 9 July 2012 в 21:59
поделиться