Otrzymałeś N stosów monet. Zdecydowałeś się podzielić każdy z tych stosów B 1 , B 2 , ..., B N na osobne grupy ludzi. Liczba osób otrzymujących monety musi być liczbą pierwszą, a ilość pieniędzy przekazanych każdej osobie musi być różna w każdym stosie.
Wejście: N, B 1 , B 2 , ..., B N (ilość monet w każdym stosie).
Wyjście: NP 1 , NP 2 , ..., NP N, przy czym NP to liczba osób (liczba pierwsza) odbierająca monety. Jeśli jest to niemożliwe, wówczas wydajność nieosiągalną jakiś rezultat (jak 0
, -1
, None
, []
, lub "impossible"
) lub podnieść błąd.
Przykład:
3
7 8 9
Wynik: 7 2 3
Ponieważ 7 jest jedyną liczbą pierwszą, która może równomiernie podzielić 7, to samo dla 8 i 2 oraz 9 i 3. Zwróć też uwagę, że (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 ).
N
jest zbędny, czy możemy zrezygnować?0
nieosiągalny wynik (np. Pustą listę, ciąg „niemożliwy” lub zgłosić błąd) dla niemożliwych przypadków? (Tak naprawdę polecam tylko prawidłowe dane wejściowe lub zezwalam na niezdefiniowane zachowanie w takich przypadkach, ale to zależy od ciebie.)[7,8,8]
że byłoby niemożliwe (ponieważ używając2
zarówno dla8
wyników w dwóch4
sek.) Ponadto, jeśli wejście było powiedzieć[7,30,30]
czym[7,2,2]
byłby nieważny, ale[7,2,3]
i[7,3,2]
wśród innych będzie działać.Odpowiedzi:
05AB1E , 13 bajtów
Wypróbuj online!
Port mojej odpowiedzi na Pythona.
Ò
dostaje prime fakt Ò rs każdego z nich..»
składa się dwójkowym polecenie,â
(C  rtesi  N Produkt) pomiędzy każdymi dwoma elementami listy z prawej strony do lewej z przeciwległymi w prawo / lewo operandów.€˜
spłaszcza € ach.ʒ...}
FILT ʒ rs te, które spełniają następujące warunki:÷
parowanie liczb całkowitych z wejściem.D
D uplicate (wypycha dwie kopie elementu na stosie).Ù
usuwa podwójne elementy, prowadzenie ù niq ù e występowania każdego elementu.Q
sprawdza e Q AKOŚĆ.θ
pobiera ostatni element.źródło
Galaretka ,
1514 bajtówPełny program, który akceptuje jeden argument, listę liczb i drukuje reprezentację innej listy liczb lub
0
jeśli zadanie jest niemożliwe.Wypróbuj online!
W jaki sposób?
źródło
µ⁼Q
mogłaby działać jako alternatywa dla fantazyjnego wyraźnego sita, ale dobra robota!Pyth , 15 bajtów
Wypróbuj tutaj!
W jaki sposób?
źródło