我有一个可以被用户调整大小的DIV元素。在这个DIV中,我想画出给定数量的正方形。现在我需要找出正方形的完美边长,使得它们全部适合DIV而不会溢出。
目前我已经做到了以下几点:
function CalcSize (){
var number = 23; // Example-Number
var area = jQuery('#container').height() * jQuery('#container').width();
var elementArea = parseInt(area / number);
var sideLength = parseInt(Math.sqrt(elementArea));
return sideLength;
}
这使得正方形太大,因为它没有“丢弃”无法用正方形填充的空间。搜索此问题时,我发现了装箱问题和树状图,但两者都没有帮助我解决我的问题,因为老实说,我缺乏数学技能,并且据我所知,这些解决方案允许非正方形和旋转。
谢谢!
更新:
我目前使用一种非常粗糙的方法来调整正方形的大小,即不断调整它们的大小并查看是否溢出。这种方法可以给出正确的结果,但性能很差。我相信可以通过计算来实现这一点。