0

少し問題があります。次のように、合計すると X になる合計のセットがあります。

A: i + j + k = X

B: t + z = X

C: z + z = X

D: j + j + k + k = X

これらの合計は多かれ少なかれ、ここでは 4 としますが、N 個になる可能性があります。

私は限られた数の被加数を持っているので、例えば

i の 12 個、z の 35 個、j の 12 個、k の 18 個、t の 21 個

私が必要としているのは、これらの組み合わせを使用する最善の方法を決定し、最終的に X の最も完全な合計になるアルゴリズムです。

上記の例では、次を使用しています。

組み合わせ C の 17 個、組み合わせ B の 1 個、組み合わせ A の 12 個、合計 30 個の X の和、72 個の加数を使用

以下を使用するよりも悪い:

組み合わせ B が 21 個、組み合わせ C が 7 個、組み合わせ D が 6 個、合計 34 個の X の和、使用される加数は 80 個

編集:

さらに説明するには

組み合わせ B の 21 を使用すると、21 t と 21 z が「費やされ」、i の 12、z の 14、j の 12、k の 18、t の 0 が残ります。

組み合わせ C の 7 を使用すると、z の 14 が「消費」されます (達成される z の 2 つの被加数を使用するため)。

組み合わせ D の 6 を使用すると、j の 12 と k の 12 が消費されます (両方を 2 回使用するため): i の 12、z の 0、j の 0、k の 6、t の 0

合計が X になる組み合わせを作成することはできなくなり、アルゴリズムは終了します。

4

1 に答える 1