1

私は 4 人の間で分割する必要がある amount を持っています$9558.99: 40%, 40%, 10%, 10% . (これは、問題が表面化する単なる例です)

分数を計算すると、次の結果が得られます。これらの結果にはすべて 1 ペニーの分数が含まれていますが、これは良くありません。

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

だから私の質問は、パーセンテージに基づいて金額を公平に分割するための正しいアプローチは何でしょうか?

編集:これはプログラミングの質問ではないかもしれませんが、とにかくプログラマーに関連していると思います。

4

2 に答える 2

3

切り上げて、余分なペニーをランダムに引きます。

ランダムに引くには、nランダムな人を選びます。ここで、n=残りのペニーの数です。

直感的に言えば、このシナリオではnは3より大きくなることはないと思います。

(または、残りのペニーをランダムに切り捨てて広げます)。

于 2012-04-13T10:15:22.690 に答える
1

どの丸め方法を使用しても、誰かが損をすることになります。

ここに代替案があります

人 A は、合計の 40% を受け取ります - 最も近いペニーに丸めます。
人 B は残りの 40/60 を取得します。最も近いペニーに丸めます。
人物 C は、残りの 10/20 を取得します - 最も近いペニーに丸めます。
人 D は残ったものを手に入れます。

A は $3823.60 を獲得
B は $3828.59 を獲得
C は $955.90 を獲得
D は $955.90 を獲得

于 2012-04-13T10:37:39.570 に答える