0

int[10000] の配列があります。

各 int を他の int と合計し、合計が > N の場合のみ結果を表示する必要があります。

合計は、配列の任意の要素を持つ任意のものであり、配列の 5、6、7...10000 個の要素の合計でもあり、N を超える場合があります。

a[1] + a[2] + a[3]のように書き留めることができます(すべての組み合わせですが、それは非常識です)...しかし、他の解決策があるかもしれませんか?

すべての組み合わせの結果が必要です。これにより、Nより大きい合計が得られます

オーケー。int[10]の配列なら?

4

1 に答える 1

1

あなたの問題はサブセットサムの問題に似ています。ここでは、このアルゴリズムの 2 つのソリューションを見つけることができます。唯一の変更点は、合計が N より大きい数値を追跡する必要があり、真/偽の結果を見つけるだけでなく、すべての可能性についてそれを繰り返す必要があることです。

于 2012-10-21T22:07:30.840 に答える