Editar: meta-golfPronto publicaré una versión más nueva de esta pregunta . Mantente tooned!
Edición n.º 2: ya no actualizaré el desafío, pero lo dejaré abierto. La meta-golfversión está disponible aquí: /codegolf/106509/obfuscated-number-golf
Antecedentes:
La mayoría de los números se pueden escribir con solo 6 símbolos diferentes:
e(Constante de Euler)-(Resta, no negación)^(Exponenciación)()ln(Logaritmo natural)
Por ejemplo, podría convertir el número imaginario iusando esta ecuación:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Objetivo:
Dado cualquier número entero a ktravés de cualquier medio razonable, genera la representación más corta posible de ese número usando solo esos 6 símbolos.
Ejemplos:
0 => "e-e"
1 => "ln(e)"
2 => "ln(ee)"
// Since - cannot be used for negation, this is not a valid solution:
// ln(e)-(-ln(e))
-1 => "e-e-ln(e)"
Notas:
- El paréntesis final cuenta para la cantidad total de caracteres.
ln(solo cuenta como 1 personaje.- Todo lo demás cuenta como 1 personaje.
n^0=1- Se aplica el orden de operaciones
- Paréntesis multiplicador es aceptable, por ejemplo
(2)(8)=16,2(5)=10, yeln(e)=e. ln eno es válido, debes hacerln(e)
ln(eeee)^ln(ee)es más corto que ln(eeeeeeeeeeeeeeee)para 16
ln(ee...e)) es la mejor manera de retratar lo positivo. Editar: no, no lo es.ln(e^(ln(eeeee)ln(eeee)))es mejor para 20