Максимальный размер квадрата для неизвестного числа внутри прямоугольника
Если у меня есть набор плиток (квадратов), который может быть любым числом, и они должны заполнить контейнер (прямоугольник) неизвестного размера, как мне определить максимальный размер плиток, не перекрывая ни одну из них.
Таким образом, если у меня есть 2 плитки, а прямоугольник равен 100 * 100, то максимальный размер плитки будет 50 * 50. Это также будет максимальный размер плитки, если для этого размера прямоугольника было 3 или 4 плитки, что так и происходит. быть квадратом в этом примере.
Если прямоугольник был 100 * 30 и у меня было 2 плитки, максимальный размер квадрата был бы 30 * 30, если у меня 4 плитки, максимальный размер был бы 25 * 25.
Как я могу сделать это программно, не перегружая процессор, пройдя все возможные комбинации.
Я пытаюсь подвести итог немного лучше, у меня есть:
прямоугольник / ограничивающий прямоугольник, который мне нужно заполнить как можно больше, без наложения плиток.
Я знаю высоту и ширину прямоугольника (но это может измениться во время выполнения).
У меня есть X количество плиток (это может измениться во время выполнения), это квадраты.
Ни одна из плиток не должна перекрываться, каков максимальный размер каждой плитки. Они все должны быть одинакового размера.