verwandt und inspiriert von - Finden von summenfreien Partitionen
Eine Menge A
wird hier als eindeutig summenfrei definiert, wenn
- 1) es besteht aus mindestens drei Elementen
|A| ≥ 3
, und - 2) seine unterschiedliche Selbstsumme
A + A = { x + y | x, y in A}
(mitx,y
unterschiedlichen, dhx≠y
) hat keine gemeinsamen Elemente mitA
.
(Obsolete -... Sie diese nicht nach vorne gehen Sie dann Links hier nur , weil einige Antworten , die es verwendet haben es nicht mit den oben genannten Bedingungen entsprechen Alternativ kann die Gleichung x + y = z
hat keine Lösung für x,y,z ∈ A
(wieder mit x,y,z
deutlichen, das heißt x≠y
, x≠z
, y≠z
.) )
Für ein einfaches Beispiel {1,3,5}
ist es eindeutig summenfrei, ist es aber {1,3,4}
nicht. {1,3}
und {3}
sind es auch nicht, da sie nicht mindestens drei Elemente sind.
Die Herausforderung besteht hier darin, die größte deutlich summenfreie Teilmenge der gegebenen Eingabe zu finden.
Eingang
- Ein ungeordneter Satz
A
von Ganzzahlen in einem beliebigen geeigneten Format . - Die Ganzzahlen können positiv, negativ oder null sein, es kann jedoch davon ausgegangen werden, dass sie in den nativen
[int]
Datentyp (oder einen gleichwertigen) Ihrer Sprache passen . - Das Set enthält garantiert nur unterschiedliche Elemente (hier keine Multisets).
- Das Set ist nicht unbedingt sortiert.
Ausgabe
- Die größte Teilmenge von
A
(dieA
selbst sein könnte) ist eindeutig summenfrei. Die Ausgabe kann in jedem geeigneten Format erfolgen. - Wenn keine solche Teilmenge vorhanden ist, geben Sie eine leere Menge oder einen anderen False-Wert aus .
- Wenn mehrere Teilmengen für die größte gebunden sind, geben Sie eine oder alle aus.
- Die Teilmenge muss nicht unbedingt sortiert sein oder in derselben Reihenfolge wie die Eingabe. Zum Beispiel ist für die Eingabe die
{1,3,5}
Ausgabe{5,1,3}
akzeptabel.
Zusätzliche Regeln
- Standardlücken sind verboten.
- Dies ist Code-Golf , daher gelten alle üblichen Golfregeln und der kürzeste Code gewinnt.
Beispiele
Input -> Output (any or all)
{0} -> {}
{1, 2, 3} -> {}
{1, 3, 5} -> {1, 3, 5}
{1, 2, 3, 4, 5} -> {1, 2, 5} {1, 2, 4} {1, 3, 5} {2, 3, 4} {2, 4, 5} {3, 4, 5}
{-5, 4, 3, -2, 0} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-5, 4, 3, -2} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-17, 22, -5, 13, 200, -1, 1, 9} -> {-17, 22, -5, 13, 200, -1, 1} {-17, 22, -5, 200, -1, 1, 9} {-17, -5, 13, 200, -1, 1, 9}