コンテナの合計値が可能な限り均等になるように、設定された数のコンテナに数字を均等に分配する方法を知っている人はいますか?
編集:「可能な限り」とは、X個のコンテナに分散されている場合、各コンテナの合計が合計平均にできるだけ近くなることを意味します。
今は単純に数値の配列を並べ替え (降順)、それらの値を知らずにコンテナーに配布します。3 つのコンテナーに分散された 1000、200、20、1000 のセットは、[2000]、[200]、[20] に等しくなります。
私がやりたいことは次のとおりです。
Example
Set of numbers: 10 30 503 23 1 85 355
If I were to distribute these into three containers I would just pick the highest first and then distribute them as I go, like this:
Cont 1 = 503
Cont 2 = 355
Cont 3 = 85 + 30 + 23 + 10 + 1
This will give the best possible distribution that you can get with the values provided.
しかし、これをコードで表現するきちんとした方法を知りません。
アイデア?