Usando nuestros símbolos matemáticos familiares: +, x, paréntesis y cualquier número racional, es fácil crear expresiones que evalúen algún número deseado. Por ejemplo: 1+(2x3)=7
, (1+2)+(3x6.5)=22.5
y así sucesivamente. Bastante aburrido.
En este desafío, vamos a utilizar un nuevo operador: ±
. El uso de ±
en una expresión significa que necesita evaluar la expresión reemplazando la ±
's por +
o -
de todas las formas posibles, y devolver el conjunto de todos los valores posibles. Por ejemplo:
1±2±3 = {-4,0,2,6}
porque1±2±3
puede ser cualquiera de1+2+3
,1+2-3
,1-2+3
y1-2-3
y sus valores son6,0,2,-4
respectivamente.(±2)x(2±3) = {-10,-2,2,10}
por razones similares
Ahora bien, como resulta que, dado cualquier conjunto de números reales distintos, es posible crear una expresión con +
, x
, (
, )
, ±
, y los números reales que se evalúa como el conjunto dado.
Tarea
Su tarea es escribir un programa o función en un idioma de su elección, que lleva una secuencia (lista / serie / cualquier formato conveniente) de números enteros y da salida a una expresión (como una cadena) que consiste en +
, x
, (
, )
, ±
, y los números racionales que evalúa el conjunto de los números dados.
- Tenga en cuenta que el carácter exacto
±
no importa; puedes usar cualquier otro personaje de tu elección siempre que sea distinguible de los otros personajes que estás usando. Pero debe mencionar qué personaje está utilizando en su presentación. - Se permite que la entrada consista en aproximaciones decimales (hasta una precisión razonable) de los números racionales utilizados.
- La entrada y salida se pueden tomar de cualquiera de las formas estándar.
- Las lagunas estándar están prohibidas.
- Puede suponer que los enteros dados serán distintos y se proporcionarán en orden creciente.
- La salida puede contener espacios y líneas nuevas.
Criterio ganador
Este es el código de golf , por lo que gana el código más corto en bytes.
Ejemplos
Entrada | Salida posible ------------- + ----------------------------- [1,2,3] | 2 ± 0.5 ± 0.5 [-7, -3,1,21] | (1 ± 2) x (3 ± 4)
Idea tomada de una pregunta en el Torneo de Ciudades, Otoño 2015 .
fuente