Bearbeiten: Ich werde in Kürze eine neuere Version dieser Frage veröffentlichen meta-golf
. Bleib auf dem Laufenden!
Bearbeiten # 2: Ich werde die Herausforderung nicht mehr aktualisieren, aber offen lassen. Die meta-golf
Version ist hier verfügbar: /codegolf/106509/obfuscated-number-golf
Hintergrund:
Die meisten Zahlen können mit nur 6 verschiedenen Symbolen geschrieben werden:
e
(Eulers Konstante)-
(Subtraktion, nicht Negation)^
(Potenzierung)(
)
ln
(Natürlicher Logarithmus)
Beispielsweise könnten Sie die imaginäre Zahl i
mithilfe der folgenden Gleichung konvertieren :
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Tor:
Ausgeben k
der kürzestmöglichen Darstellung dieser Zahl unter Verwendung nur dieser 6 Symbole, wenn eine Ganzzahl mit einem vernünftigen Mittel angegeben wird.
Beispiele:
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)"
Anmerkungen:
- Endeklammern werden auf die Gesamtzahl der Zeichen angerechnet.
ln(
zählt nur als 1 Zeichen.- Alles andere zählt als 1 Charakter.
n^0=1
- Es gilt die Reihenfolge der Operationen
- Parenthesis Vervielfachungs akzeptabel ist , zum Beispiel
(2)(8)=16
,2(5)=10
, undeln(e)=e
. ln e
ist nicht gültig, müssen Sie tunln(e)
ln(eeee)^ln(ee)
ist kürzer als ln(eeeeeeeeeeeeeeee)
für 16
ln(ee...e)
) der beste Weg ist, um Positive darzustellen. Edit: nein, es ist nicht.ln(e^(ln(eeeee)ln(eeee)))
ist besser für 20