Moyenne sur deux listes
Défi
Étant donné deux listes d'entiers positifs, déterminez s'il est possible de réorganiser les éléments en deux nouvelles listes de sorte que les nouvelles listes aient la même moyenne arithmétique (moyenne).
Contribution
L'entrée peut être prise via STDIN ou comme arguments de fonction. L'entrée peut être considérée comme une liste, ou si votre langue ne prend pas en charge les listes (ou tout autre élément similaire tel que des tableaux / dictionnaires), l'entrée peut être considérée comme une chaîne délimitée par des virgules ou des espaces. C'est,
"1 4 8 2 5,3 1 5 2 5"
est le même que:
[ [1,4,8,2,5], [3,1,5,2,5] ]
Toutes les listes d' entrée auront la même longueur.
Production
Si vous pouvez créer deux nouvelles listes avec la même moyenne, votre programme / fonction doit imprimer ou renvoyer la moyenne. Si vous ne le pouvez pas, votre programme devrait afficher un visage triste :(
.
Notez que les listes réarrangées avec des moyennes égales, si elles existent, n'ont pas besoin d'avoir la même longueur. Un nombre illimité de swaps peut être effectué pour créer les nouvelles listes.
Exemples
1 4 8 2 5,3 1 5 2 5 -> 1 4 8 2 3,5 1 5 2 5 (swapped 3 and 5) -> 3.6
1 3 6 2,16 19 19 14 -> [[1,6,19,14],[3,2,16,19]] -> 10
2 6 2,6 3 5 -> 2 6,2 6 3 5 (moved 2) -> 4
90 80 20 1,40 60 28 18 -> :(
C'est le code-golf donc le code le plus court en octets gagne. Comme toujours, les failles standard sont interdites.
la source
Réponses:
Pyth, 24 octets
Essayez-le en ligne: Démonstration
Merci à Dennis d'avoir remarqué une erreur et d'avoir joué un octet au golf.
Explication:
la source
.O
)SWI-Prolog, 159 octets
Appelé comme
a([1,4,8,2,5],[3,1,5,2,5]).
la source
Julia, 101 octets
Cela crée une fonction qui accepte deux tableaux et renvoie une chaîne ou un flottant en conséquence.
Non golfé + explication:
la source
R, 94 octets
Fondamentalement, la même chose que Jakubes, je pense. Si la moyenne des deux listes correspond à la moyenne de toute combinaison des valeurs dans les listes jusqu'à mais sans inclure la longueur combinée de la liste, sortez la moyenne sinon le visage triste.
Essai
la source
Gelée , 22 octets
Essayez-le en ligne!
Fait avec l'aide de M. Xcoder dans le chat
Explication
la source
2 6 2,6 3 5 -> 2 6,2 6 3 5 (moved 2) -> 4
. Vous le divisez seulement en deux parties de longueur égale maintenant.