Editar: meta-golf
Pronto 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-golf
versió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 i
usando 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 k
travé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 e
no 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