Ley de equilibrio
Visión general
Dada una entrada de 3 enteros positivos de un solo dígito que representan un conjunto de pesos, genera una representación ASCII de un balancín con los pesos colocados sobre él para que esté en equilibrio alrededor de un pivote central, teniendo en cuenta los efectos de palanca.
Cada número tiene un peso igual a su valor. El torque de cada número es el peso multiplicado por la distancia desde el centro en caracteres. Para el sube y baja para estar en equilibrio, el par suma de los pesos de la parte izquierda el sube y baja debe ser igual a la de los de la derecha, como este .
Entrada
3 enteros en el rango de 1-9. Puede ingresar los enteros, sin embargo, es conveniente, por ejemplo, una tupla, 3 valores separados por comas, etc. Sin embargo, su programa debe ser capaz de manejar la entrada de números en cualquier orden (es decir, sin suponer que los valores se ordenarán). Se pueden ingresar números duplicados (por ejemplo, 2,3,2).
Las entradas siempre permitirán matemáticamente una salida válida, de lo contrario la entrada no es válida.
Salida
La salida debe ser una representación ASCII de 2 líneas del balancín con los pesos colocados en él. En la primera línea están los dígitos, espaciados para equilibrarlos en el balancín.
Los números no se pueden colocar en el centro de la escala, donde la distancia y, por lo tanto, el par, serían cero. Las distancias válidas desde el centro varían de 1 a 10 caracteres, incluidos a la izquierda o derecha del pivote.
En los espacios desocupados por los números hay 18 caracteres de subrayado (un subrayado central y 10 en cada lado, menos las 3 posiciones ocupadas por los números). En la última línea hay un solo carácter de intercalación alineado con el centro de la escala, que representa el pivote.
Ejemplos
Entrada:
4,7,2
Salida:
________7___42_______
^
7 * 2 = 4 * 2 + 2 * 3
Los números se pueden generar en cualquier lado, por ejemplo, esto también sería válido:
_______24___7________
^
2 * 3 + 4 * 2 = 7 * 2
Los números se pueden colocar en cualquier lugar de la escala siempre que se equilibren, por ejemplo:
Entrada:
3,1,5
Salida:
_____5________1__3___
^
5 * 5 = 1 * 4 + 3 * 7
o
____5________1_____3_
^
5 * 6 = 1 * 3 + 3 * 9
o
____5___________1_3__
^
5 * 6 = 1 * 6 + 3 * 8
etc.
Su programa solo tiene que generar una de las salidas válidas. No tiene que generar un error si la entrada no es válida.
Notas
- Este es el código de golf, por lo que gana el programa más corto en bytes
- El programa puede ser independiente o una función que acepta los números como entrada y devuelve una cadena.
- La nueva línea final y el espacio en blanco en la última línea es opcional
- Si no sabe lo que es un balancín , también se lo conoce como un balancín o un teeboard.