本专栏旨在记录本人解决问题的思考方法,及实现过程。有更好方法或对程序执行有疑问的伙伴,可在评论区留言,共同讨论。
一级目录
二级目录
三级目录
题目要求
有一个容器,其容量为V(0<v<1001,正整数),同时有n个物品(0<n<=30),每个物品体积大小不同(正整数)。在n个物品中,任取若干个装入容器内,使容器的剩余空间最小。
输入:1.容器大小v(正整数);
2.物品数量n(正整数);
3.n个物品的不同大小(正整数)。
输出:剩余空间最小值
最终结果
** 示例:**
输入:1.容器大小v(正整数):100
2.物品数量n(正整数):4
3.n个物品的不同大小(正整数):分别为50, 30, 45, 19
输出:剩余空间最小值:1
解决流程
1.利用列表推导式,生成包含所有(n-1)及以下个元素的新列表;
2.利用集合的元素不重合特性,去除所有重复元素,并求和;
3.找到计算结果小于或等于V的最大值;
4.求差输出。
程序实现
v = eval(input()