我有$9558.99
金额,我需要在4人之间分配:40%,40%,10%,10%。 (这只是问题浮出水面的一个例子)
当我计算分数时,我得到以下结果,它们都包含一分钱的分数,这是不好的,因为显然我不能给一个人半分钱。
40% $3823.5960
40% $3823.5960
10% $955.8990
10% $955.8990
SUM $9558.99
如果我向上看,我会得到一分钱:
40% $3823.60
40% $3823.60
10% $955.90
10% $955.90
SUM $9559.00 <-- 1 penny over
如果我向下舍入,我会减少3便士(再次没有惊喜):
40% $3823.59
40% $3823.59
10% $955.89
10% $955.89
SUM $9558.96 <-- 3 pennies under
所以我的问题是根据百分比公平分配金额的正确方法是什么?
编辑:这可能不是一个编程问题,但我认为它无论如何都与程序员有关。
答案 0 :(得分:3)
向上舍入,并随机减去过多的便士。
要随机减去,请选择n
随机人员n
=剩余便士数量。
直观地说,我认为在这种情况下n不会大于3。
(或者,向下舍入并随机分散剩余的便士)。
答案 1 :(得分:1)
无论你使用哪种舍入方法,都会有人失败。
这是另一种建议
A人占总数的40% - 最接近的便士 人B得到剩下的40/60 - 最接近的便士 人物C得到剩下的10/20 - 最接近的便士 人D得到了剩下的东西。
A获得$ 3823.60
B获得$ 3828.59
C获得$ 955.90
D得到$ 955.90