b = (200, 250, 240)
##b存储大箱子的长宽高
from itertools import permutations
##使用itertools.permutations生成小盒子长宽高的所有全排列(共 6 种)。
s = (30, 40, 50)
##s存储小箱子的长宽高
m = 0
##m记录最大容纳数。
for perm in permutations(s):
x, y, z = perm
##对每种旋转方式(perm),分解为 x, y, z,计算
##大箱子各维度能容纳的小盒子数量,相乘得到总数量。
c1 = b[0] // x
c2 = b[1] // y
c3 = b[2] // z
t = c1 * c2 * c3
if t > m:
m = t
##若当前排列的总数量大于m,则更新m。
print(m)
##最终输出最大容纳数,即 200

被折叠的 条评论
为什么被折叠?



