8

したがって、5つの数値を取得する方法を理解する方法が必要です。そのうちのいずれかを2つ追加すると、それらの特定の2つの数値を追加することによってのみ取得できる合計になります。

これが私が話していることの例ですが、3つの数字があります:

1
3
5

1 + 3 = 4
1 + 5 = 6
3 + 5 = 8

これらの数値のいずれか2つを追加すると、他の数値のペアを追加しても見つけることができない一意の合計になります。私はこれを行う必要がありますが、5つの異なる番号を使用します。そして、あなたがこれをいくつもの数で行う方法を理解する方法を持っているなら、それを共有することも同様にありがたいです。ありがとうございました

4

3 に答える 3

12

1, 10, 100, 10000, 100000あなたが望むようにあなたに5つの数字を与えます。

一般的に、必要な数は1, 10, 100, 1000, ..., 10^kどこにありますか。k

そしてさらに一般的にはb^0, b^1, ..., b^k、ここで、と言うことができますb >= 2。すべてのペアワイズ和が一意であるだけでなく、すべてのサブセット和が一意であるという特別なプロパティがあることに注意してください(ベースの表現を見てくださいb)。

于 2012-05-11T19:09:47.943 に答える
4

セット{1, 2, 5, 11, 21}も活躍。

そのプロパティに適合する 2 つまたは 3 つの要素のセットから始めて (セットからの 2 つの要素に対する任意の加算操作{1,2,5}により、一意の合計が得られます)、現在の要素とこの新しい要素の追加によってもあなたのユニークな合計。

ランスルーの例:

開始セットSが であるとしますS={1,2,5}Uの 2 つの要素間のすべての和の集合を としますS。の要素はS、一意の合計1+2=3, 1+5=6, 2+5=7, so を提供しU={3,6,7}ます。

11このセットに追加することを検討してください。1+112+11、およびすべてが、 では見られず、すべてそれらの間で一意で5+11ある合計を返すことを確認する必要があります。U

1+11=122+11=135+11=17

1213、および17はすべてそれらの間で一意の合計であり、 には含まれていないため、 およびをU更新SUて となることができます S1 = {1,2,5,11} U1 = {3,6,7,12,13,17}

に対しても同じ手順を実行でき、21(できれば) get: を取得する必要があります S2 = {1,2,5,11,21} U2 = {3,6,7,12,13,17,22,23,26,32}

ただし、クイック セットのみが必要な場合は、Jason が投稿したソリューションを作成する方がはるかに高速です。

于 2012-05-11T19:34:04.237 に答える
2
1
2
4
8
16

1
3
9
27
81

n が自然数のサブセットのメンバーである x ^ n を提案します

于 2012-05-11T19:13:00.380 に答える