技术问询:求价格≤100时可提供的最大Qty总和
总价≤100时的最大数量总和计算
商品清单
| Name | Price | Qty |
|---|---|---|
| A | 3 | 30 |
| B | 5 | 3 |
| C | 5 | 3 |
| D | 6 | 20 |
计算过程
要最大化数量总和,核心逻辑是优先选单价最低的商品——同样预算下,单价越低能买到的数量越多:
- 先买完所有单价最低的A:30个×3元=90元,剩余预算100-90=10元
- 用剩余预算买单价次低的B或C:10元÷5元/个=2个,刚好不超预算
- 总数量:30+2=32,总价90+10=100,完全符合要求
对比其他组合:
- 全买A只能得30个,剩余预算没充分利用
- 买D的话,100元最多买16个(6×16=96),数量远低于32
- 买满B/C再加A的话,3个B/C总价15元,剩余85元能买28个A,总数量28+3=31,比32少
所以最优解就是30个A加2个B或C,最大数量总和为32。
内容的提问来源于stack exchange,提问作者Andika Nurtamin
相关产品推荐
相关产品推荐

