Vous avez reçu N piles de pièces. Vous avez décidé de diviser chacune de ces piles B 1 , B 2 , ..., B N en groupes distincts de personnes. Le nombre de personnes recevant des pièces doit être un nombre premier et le montant d'argent donné à chaque personne doit être différent dans chaque pile.
Entrée: N, B 1 , B 2 , ..., B N (Le nombre de pièces dans chaque pile individuelle).
Sortie: NP 1 , NP 2 , ..., NP N avec NP étant le nombre de personnes (nombre premier) recevant les pièces. Si cela est impossible alors obtenir un résultat inatteignable (comme 0
, -1
, None
, []
ou "impossible"
) ou déclencher une erreur.
Exemple:
3
7 8 9
Production: 7 2 3
Parce que 7 est le seul nombre premier qui peut diviser 7 également, de même pour 8 et 2 et 9 et 3. Notez également que (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 ).
N
est une entrée redondante, pouvons-nous renoncer à la prendre?0
, une liste vide, une chaîne comme "impossible", ou déclencher une erreur) pour les cas impossibles? (Je recommanderais en fait uniquement une entrée valide, ou autoriser un comportement indéfini dans de tels cas, mais c'est à vous de décider.)[7,8,8]
qu'il serait impossible (puisque l' utilisation2
pour les8
résultats dans deux4
s.) De plus, si l'entrée était dit[7,30,30]
alors[7,2,2]
serait invalide , mais[7,2,3]
et[7,3,2]
entre autres travailleraient.Réponses:
05AB1E , 13 octets
Essayez-le en ligne!
Un portage de ma réponse Pyth.
Ò
obtient le fait premier Ò rs de chacun..»
replie une commande dyadique,â
(produit c â rtesi â n) entre chacun des deux éléments de la liste de droite à gauche avec des opérandes opposés droite / gauche.€˜
aplatit € ach.ʒ...}
filt ʒ rs ceux qui remplissent la condition suivante:÷
division entière par paire avec l'entrée.D
D uplicate (pousse deux copies de l'article dans la pile).Ù
supprime les doublons, en gardant un Ù niq Ù e occurrence de chaque élément.Q
vérifie e Q ualité.θ
obtient le dernier élément.la source
Gelée ,
1514 octetsUn programme complet qui accepte un argument, une liste de nombres et imprime une représentation d'une autre liste de nombres, ou
0
si la tâche est impossible.Essayez-le en ligne!
Comment?
la source
µ⁼Q
cela fonctionnerait comme une alternative au tamis distinct de fantaisie, mais bon travail!Pyth , 15 octets
Essayez-le ici!
Comment?
la source