Loi sur l'équilibre
Vue d'ensemble
Étant donné une entrée de 3 entiers positifs à un chiffre représentant un ensemble de poids, sortez une représentation ASCII d'une balançoire avec les poids placés dessus afin qu'elle soit en équilibre autour d'un pivot central, en tenant compte des effets de levier.
Chaque nombre a un poids égal à sa valeur. Le couple de chaque nombre est le poids multiplié par la distance au centre en caractères. Pour que la bascule soit en équilibre, le couple total des poids à gauche de la bascule doit être égal à celui de ceux de droite, comme ceci .
Contribution
3 entiers compris entre 1 et 9. Vous pouvez saisir les nombres entiers, mais cela est pratique, par exemple un tuple, 3 valeurs séparées par des virgules, etc. Cependant, votre programme doit être capable de gérer les nombres entrés dans n'importe quel ordre (c'est-à-dire sans supposer que les valeurs seront triées). Des numéros en double peuvent être saisis (par exemple 2,3,2).
Les entrées permettront toujours mathématiquement une sortie valide, sinon l'entrée n'est pas valide.
Sortie
La sortie doit être une représentation ASCII à 2 lignes de la bascule avec les poids placés dessus. Sur la première ligne, les chiffres sont espacés pour les équilibrer sur la bascule.
Les nombres ne peuvent pas être placés au centre même de l'échelle, où la distance et donc le couple seraient nuls. Les distances valides du centre vont de 1 à 10 caractères inclus à gauche ou à droite du pivot.
Dans les espaces non occupés par les chiffres, il y a 18 caractères de soulignement (un trait de soulignement central et 10 de chaque côté, moins les 3 positions occupées par les chiffres). Sur la dernière ligne est un caractère caret unique aligné avec le centre de l'échelle, représentant le pivot.
Exemples
Contribution:
4,7,2
Sortie:
________7___42_______
^
7 * 2 = 4 * 2 + 2 * 3
Les numéros peuvent être sortis de chaque côté, par exemple, cela serait également valide:
_______24___7________
^
2 * 3 + 4 * 2 = 7 * 2
Les nombres peuvent être placés n'importe où sur l'échelle tant qu'ils s'équilibrent, par exemple:
Contribution:
3,1,5
Sortie:
_____5________1__3___
^
5 * 5 = 1 * 4 + 3 * 7
ou
____5________1_____3_
^
5 * 6 = 1 * 3 + 3 * 9
ou
____5___________1_3__
^
5 * 6 = 1 * 6 + 3 * 8
etc
Votre programme n'a qu'à sortir l'une des sorties valides. Il n'a pas à générer d'erreur si l'entrée n'est pas valide.
Remarques
- Ceci est du code-golf donc le programme le plus court en octets gagne
- Le programme peut être autonome ou une fonction qui accepte les nombres en entrée et renvoie une chaîne.
- La nouvelle ligne et les espaces blancs à la dernière ligne sont facultatifs
- Si vous ne savez pas ce qu'est une balançoire , elle est également connue sous le nom de bascule ou de bascule.