Bei einer ungeordneten Auflistung positiver Ganzzahlen mit einer vernünftigen Eingabemethode geben Sie alle Untersammlungen zurück, die eine ungerade Anzahl ungerader Elemente (dh eine ungerade Summe) aufweisen.
Dies ist Code-Golf, daher sollten Sie darauf abzielen, die Byte-Anzahl Ihres Programms zu minimieren.
Da einige Sprachen nur geordnete Sammlungen (Listen, Arrays, Vektoren usw.) oder keine ungeordnete Sammlung haben, die Duplikate zulässt, können Sie geordnete Sammlungen verwenden (unabhängig von Ihrer Sprachauswahl). Sie sollten jedoch keine doppelten Sammlungen ausgeben mit verschiedenen Aufträgen (zB [2,3]
und [3,2]
). Sie können in beliebiger Reihenfolge ausgeben.
Testfälle
[2,3,7,2] -> [[3],[7],[2,3],[2,7],[2,2,3],[2,2,7]]
[2,4,6,8] -> []
[4,9] -> [[9],[4,9]]
code-golf
combinatorics
Post Rock Garf Hunter
quelle
quelle
[2, 2, 3]
, können wir zurückkommen[[2, 2, 3], [2, 3], [2, 3]]
?Antworten:
05AB1E , 6 Bytes
Probieren Sie es online!
-2 Bytes dank @EriktheOutgolfer
quelle
2%
kann golfenÉ
und}
entfernt werden. Aber Ihre Antwort scheint das Problem zu haben.Python 3 , 93 Bytes
Gibt eine Menge von Tupeln zurück. Höchstwahrscheinlich viel zu lang.
Probieren Sie es online!
quelle
Pyth ,
1098 BytesProbieren Sie es online!
quelle
{SMf%sT2y
speichert ein Byte, wie es scheint.Python 2 , 91 Bytes
Druckt eine Reihe von Tupeln. Wenn eine Menge von Strings erlaubt ist,
tuple(sorted(y))
kann ersetzt werden durch`sorted(y)`
für 86 Bytes .Probieren Sie es online!
quelle
Gelee , 9 Bytes
Probieren Sie es online!
Fehler behoben dank Jonathan Allan.
quelle
Perl 6 , 50 Bytes
Um die gleichen Kombinationen in der gleichen Reihenfolge herauszufiltern, filtere ich Duplikate heraus, indem ich sie
Bag
vor dem Vergleich in eine (ungeordnete Sammlung) umwandle. Leider konnte ich keine Möglichkeit finden, eine so präziseBag
Eingabe zu akzeptieren .quelle
Brachylog , 11 Bytes
Probieren Sie es online!
Ich hatte gehofft, eine kürzere Lösung zu finden, aber hier ist das Beste, was ich tun konnte.
Erläuterung
Ja, ich hätte modulo 2 verwenden können, um zu prüfen, ob es merkwürdig ist, aber das ist kein merkwürdiger Ansatz;)
quelle
Mathematica
31 4438 BytesUnter allen Teilmengen der Eingabemenge werden diejenigen zurückgegeben, für die die Summe
Tr
ungerade ist.Dank Alephalpha werden 6 Bytes gespart.
{{3}, {7}, {2, 3}, {2, 7}, {2, 2, 3}, {2, 2, 7}}
quelle
{2,3}
und{3,2}
nicht beide zurückgegeben werden soll ( das gleiche mit{2,7}
und{7,2}
).Select[Union@Subsets@Sort@#,OddQ@*Tr]&
PHP, 126 Bytes
Nimmt Eingaben von Befehlszeilenargumenten entgegen. Laufen Sie mit
-nr
oder versuchen Sie es online .Nervenzusammenbruch
quelle