一个资源分配的问题,假设 A 权重为3,B 为2,C 为5,但 A 已经有5个,B 有2个,C
1个,这个时候要再买10个,应该怎么计算根据权重和已有机器数量这10个A、B、C 分别要买几个
为了重新分配这10个资源,我们需要首先确定A、B、C的新权重。我们可以通过减去已经拥有的资源数量来得到新权重。新权重如下:
A: 3 - 5 = -2
B: 2 - 2 = 0
C: 5 - 1 = 4
如果没有负数则直接使用相减数购买,后续步骤无需考虑。
这里,A的新权重为负数,这意味着A已经拥有了超过其权重所应分配的资源。为了解决这个问题,我们可以将所有权重增加一个足够大的数值,使其变为正数。我们可以选择增加的数值为2,这样新权重为:
A: -2 + 2 = 0
B: 0 + 2 = 2
C: 4 + 2 = 6
现在,我们可以根据这些新权重来分配10个资源。首先计算新权重的总和:
总权重 = 0 + 2 + 6 = 8
然后,我们计算每个权重占总权重的比例:
A: 0 / 8 = 0
B: 2 / 8 = 0.25
C: 6 / 8 = 0.75
接下来,我们可以根据这些比例分配10个资源:
A: 10 * 0 = 0
B: 10 * 0.25 = 2.5
C: 10 * 0.75 = 7.5
由于资源数量必须是整数,我们可以四舍五入结果:
A: 0 (四舍五入)
B: 3 (四舍五入)
C: 7 (四舍五入)
因此,根据新权重和已有资源数量,接下来应该购买的10个资源分配为:A购买0个,B购买3个,C购买7个。