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) ).
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 Verwendung 2
für beide 8
in zwei Ergebnisse 4
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.
N
Ist eine redundante Eingabe, dürfen wir darauf verzichten?