Sie haben N Stapel Münzen erhalten. Sie haben beschlossen, jeden dieser Stapel B 1 , B 2 , ..., B N auf verschiedene Personengruppen aufzuteilen . Die Anzahl der Personen, die Münzen erhalten, muss eine Primzahl sein, und der Geldbetrag, der jeder Person gegeben wird, muss in jedem Stapel unterschiedlich sein.
Eingabe: N, B 1 , B 2 , ..., B N (Die Anzahl der Münzen in jedem einzelnen Stapel).
Ausgabe: NP 1 , NP 2 , ..., NP N, wobei NP die Anzahl der Personen (Primzahl) ist, die die Münzen erhalten. Wenn dies nicht möglich ist , dann ergibt einiges unachievable Ergebnis (wie 0
, -1
, None
, []
, oder "impossible"
) oder einen Fehler erhöhen.
Beispiel:
3
7 8 9
Ausgabe: 7 2 3
Da 7 die einzige Primzahl ist, die 7 gleichmäßig teilen kann, gilt dies auch für 8 und 2 sowie 9 und 3. Beachten Sie auch, dass (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3) ).
N
Ist eine redundante Eingabe, dürfen wir darauf verzichten?0
für unmögliche Fälle ein anderes nicht erreichbares Ergebnis liefern (z. B. eine leere Liste, eine Zeichenfolge wie "unmöglich" oder einen Fehler auslösen)? (Ich würde eigentlich nur gültige Eingaben empfehlen oder undefiniertes Verhalten in solchen Fällen zulassen, aber es liegt an Ihnen.)[7,8,8]
es wäre unmöglich , (da die Verwendung2
für beide8
in zwei Ergebnisse4
s.) Außerdem, wenn der Eingang sagen würde[7,30,30]
dann[7,2,2]
ungültig wäre aber[7,2,3]
und[7,3,2]
unter anderem funktionieren würde.Antworten:
05AB1E , 13 Bytes
Probieren Sie es online aus!
Ein Port meiner Pyth-Antwort.
Ò
bekommt die prime Tatsache Ò rs von jedem..»
Falten einen dyadischen Befehl,â
(c â rtesi â n - Produkt) zwischen je zwei Elementen in der Liste von rechts mit gegenüberliegenden rechten / linken Operanden nach links.€˜
flacht € ach.ʒ...}
filt ʒ rs solche , die die folgende Bedingung erfüllen:÷
paarweise Ganzzahldivision mit der Eingabe.D
D uplicate (schiebt zwei Kopien des Gegenstands auf den Stapel).Ù
Entfernt doppelte Elemente und behält ein Ù niq bei Ù e Auftreten jedes Elements.Q
Kontrollen für e Q ualität.θ
bekommt das letzte Element.quelle
Gelee ,
1514 BytesEin vollständiges Programm, das ein Argument, eine Liste von Zahlen, akzeptiert und eine Darstellung einer anderen Liste von Zahlen druckt oder
0
wenn die Aufgabe unmöglich ist.Probieren Sie es online aus!
Wie?
quelle
µ⁼Q
wäre eine Alternative zu dem ausgefallenen Sieb, aber gute Arbeit!Pyth , 15 Bytes
Probieren Sie es hier aus!
Wie?
quelle