Excel表中
N=150代表每个箱子的容量,有无数个箱子可以利用。M=30代表需要装箱物品的个数,即A列表数字的个数。A列表的数字代表每个物品的体积。
- 将Excel A列表中的数在Python中读取(代码中需要用到M)后,按照从大到小的顺序排序后print出来,记做a[]。
- 将a[]中的数字按照排序后的顺序,依次比较是否可以被装入容量为150的箱子中,若可以则放入,若不可以就再用一个新箱子。例如:第一个数可以直接加入列表b,第二个数需要先将其和第一个数相加求和比较其是否大于150,若小于或等于150则将第二个数加入列表b, 若大于150则将第二个数加入列表c,依次类推,直到所有数字完成比较形成数列(所有物品完成装箱)。
- 输出每一个列表中包含的数字,和一共有多少个列表(需要的箱子个数)。
输出结果实例:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] #随机数列
[10] #假设箱子容量是10
[9]
[8]
[7]
[6]
[5, 4]
[3, 2, 1]
最少需要使用7个容量为10的箱子