Modifica: pubblicherò presto una versione più recente di questa domanda meta-golf. Resta tooned!
Modifica n. 2: non aggiornerò più la sfida, ma la lascerò aperta. La meta-golfversione è disponibile qui: /codegolf/106509/obfuscated-number-golf
Sfondo:
La maggior parte dei numeri può essere scritta con solo 6 simboli diversi:
e(Costante di Eulero)-(Sottrazione, non negazione)^(Esponenziale)()ln(Logaritmo naturale)
Ad esempio, potresti convertire il numero immaginario iusando questa equazione:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Obbiettivo:
Dato un numero intero kcon qualsiasi mezzo ragionevole, genera la rappresentazione più breve possibile di quel numero usando solo quei 6 simboli.
Esempi:
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)"
Appunti:
- Le parentesi finali contano per la quantità totale di caratteri.
ln(conta solo 1 carattere.- Tutto il resto conta come 1 carattere.
n^0=1- Si applica l'ordine delle operazioni
- Parentesi moltiplicando è accettabile, ad esempio
(2)(8)=16,2(5)=10eeln(e)=e. ln enon è valido, devi farloln(e)
ln(eeee)^ln(ee)è più corto di ln(eeeeeeeeeeeeeeee)per 16
ln(ee...e)) sia il modo migliore per ritrarre i positivi. Modifica: no, non lo è.ln(e^(ln(eeeee)ln(eeee)))è meglio per 20