设定了一个大长方体的长宽高和一个小长方体的长宽高,想计算在一个固定的大长方体里面可以放多少个小方体,哪种放法是可以放最多的(可放多少个)?

解决方案 »

  1.   

    设大长方体 棱长为a、b、c 小的为A、B、C, 最大值为0
    int(a/A)*int(b/B)*int(c/C)为一次的长方体个数固定abc顺序 排列ABC顺序,重新计算乘积,比较最大值 ;覆盖最大值
      

  2.   

    大正方体:长:1m,宽:1m,高:10m,
    小正方体:长:0.9m,宽:1m,高:1m.
    这样10个小正方体填充剩下的体积比一个小正方体大,但不可能放下
    一个小正方体,所以他这个算法不能简单只算体积。
      

  3.   

    设置 大长方形的长宽高分别有:a b c 则体积v = a*b*c;v是固定的。小长方形的长宽高分别有:a1 b1 c1 则体积v1 = a1*b1*c1;0<a1<a; 0<b1<b; 0<c1<c; 因为V 一定, a1 有一定范围。   
    这是一个典型的0_1 背包问题。
    http://www.cnblogs.com/renmin/articles/1142754.html