每个盒子最多可以装10,以上数字如何搭配能让盒子的数量最少。目测就是:
如果没特殊要求的话,所有数字相加除以10就是最少箱数
都说编程了还哪来目测。
最笨嘚方法是(估计也是出题者的本意)所有组合都试一遍,然后找出盒子数最少的组合
2 设所有数字的个数为n,则n/k为每个箱子至少能装的數字个数(如果刚好整除说明k刚好能装完)
3 所有数字排列组合,按照每个箱子按照>=至少能装的数字个数分组(总和不超过10)如果刚好能分,则k为左少否则k+1,重复3的排列组合直至刚好分完组
首先觉得你这种学习态度很好,值得大家学习有一些一上来就是求代码的,嫃的没多大用处
其次,推荐你看看《算法》类型的书里面有很多我们平时很少用到的算法。懂算法就能写出效率高、结果准确的代码当然,如果急着用就另说
盒子里面的数量无非是刚好装满和不满
按顺序相互组合,等于10的组合提出来
得到刚好装满的箱子的数量,
剩下的箱子力求装的尽量满
依次把等于9,87,65,43,21的数量得出。
这个是算法思想问题先确定需要箱子的范围,除以和确定最少需要多少个箱子再根据有多少个数判断最多需要多少个箱子,这样能减少不必要的计算量 有范围后,在根据实际情况开始进行匹配计算
本题只要求最小值,所以从最少需要多少开始然后一个箱子一个箱子往上加,满足条件了就是最少箱子数
这是个动态规划的问题吧可以参考一下动态规划--背包问题
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。