You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求映射带权对象至最小数量且保持权重比例的算法

带权对象映射为最小数量的算法问题

需求:将带权对象映射为对应的数量,要求在保持对象权重比例的前提下,使每个对象的数量尽可能小。

示例1

input: object1: 40, object2: 60, object3: 80 
output: object1: 2, object2: 3, object3: 4

该示例可通过将各对象权重除以所有权重的最大公约数(gcd)解决。


示例2

input: object1: 3, object2: 15
output: object1: 1, object2: 5

示例3

input: object1: 13, object2: 97, object3: 20
output: object1: 1, object2: 7, object3: 2

示例4

input: object1: 1, object2: 17, object3: 97
output: object1: 0, object2: 1, object3: 5

gcd方法不适用于示例3和示例4,请问可用何种算法,有相关思路吗?


限制条件

  • 权重范围为0-99
  • 所有数量的总和最大值为32

内容的提问来源于stack exchange,提问作者Ildar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:40:16