Su tarea es escribir un programa que, en la entrada n, genere la expresión mínima de cada número del 1 al n en orden. El programa más corto en bytes gana.
Una expresión mínima combina los 1 con la suma y la multiplicación para dar como resultado el número dado, utilizando la menor cantidad posible de 1. Por ejemplo, 23
se expresa 23=((1+1+1)(1+1)+1)(1+1+1)+1+1
con once, que es mínimo.
Requisitos:
- El programa debe tomar como entrada un número natural positivo n.
- La salida debe estar en este formato:
20 = ((1+1+1)(1+1+1)+1)(1+1)
- Su salida puede no tener paréntesis innecesarios, como
8 = ((1+1)(1+1))(1+1)
. - El signo de multiplicación
*
es opcional. - Los espacios son opcionales.
- No tiene que generar todas las ecuaciones posibles para un valor dado: por ejemplo, tiene la opción de generar
4=1+1+1+1
o4=(1+1)(1+1)
. No tiene que dar salida a ambos. - El programa más corto (en bytes) en cada idioma gana.
1 = 1 2 = 1 + 1 3 = 1 + 1 + 1 4 = 1 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1 6 = (1 + 1 + 1) (1 + 1) 7 = (1 + 1 + 1) (1 + 1) +1 8 = (1 + 1 + 1 + 1) (1 + 1) 9 = (1 + 1 + 1) (1 + 1 + 1) 10 = (1 + 1 + 1) (1 + 1 + 1) +1 11 = (1 + 1 + 1) (1 + 1 + 1) + 1 + 1 12 = (1 + 1 + 1) (1 + 1) (1 + 1) 13 = (1 + 1 + 1) (1 + 1) (1 + 1) +1 14 = ((1 + 1 + 1) (1 + 1) +1) (1 + 1) 15 = (1 + 1 + 1 + 1 + 1) (1 + 1 + 1) 16 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) 17 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) +1 18 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) 19 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) +1 20 = ((1 + 1 + 1) (1 + 1 + 1) +1) (1 + 1)
Aquí hay algunos casos de prueba más: (recuerde que también se permiten otras expresiones con el mismo número de 1)
157=((1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1
444=((1+1+1)(1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)
1223=((1+1+1)(1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)(1+1+1+1+1)+1+1+1
15535=((((1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)((1+1+1)(1+1)+1)+1)(1+1+1)+1)(1+1+1)(1+1+1)+1
45197=((((1+1+1)(1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1+1)+1+1
¡Buena suerte! - La tortuga 🐢
n=20
) y 2) dice al principio que la complejidad del entero, que es distinta de la ecuación, tiene que salir, pero no incluye eso en cualquiera de los ejemplos excepto el primero.