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.5y 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±3puede ser cualquiera de1+2+3,1+2-3,1-2+3y1-2-3y sus valores son6,0,2,-4respectivamente.(±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 .