Edycja: meta-golfWkrótce opublikuję nowszą wersję tego pytania . Trzymaj toon!
Edycja nr 2: Nie będę już aktualizować wyzwania, ale pozostawię je otwarte. meta-golfWersja dostępna jest tutaj: /codegolf/106509/obfuscated-number-golf
Tło:
Większość liczb można zapisać tylko za pomocą 6 różnych symboli:
e(Stała Eulera)-(Odejmowanie, nie negacja)^(Potęgowanie)()ln(Naturalny logarytm)
Na przykład możesz przekonwertować liczbę urojoną iza pomocą tego równania:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Cel:
Biorąc pod uwagę liczbę całkowitą kza pomocą dowolnych rozsądnych środków, wyprowadzaj możliwie najkrótszą reprezentację tej liczby, używając tylko tych 6 symboli.
Przykłady:
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)"
Uwagi:
- Końcowy nawias liczy się do całkowitej liczby znaków.
ln(liczy się tylko jako 1 znak.- Cała reszta liczy się jako 1 postać.
n^0=1- Obowiązuje kolejność operacji
- Nawias namnażania jest do przyjęcia, na przykład
(2)(8)=16,2(5)=10ieln(e)=e. ln enie jest ważne, musisz to zrobićln(e)
ln(eeee)^ln(ee)jest krótszy niż ln(eeeeeeeeeeeeeeee)16
ln(ee...e)) jest najlepszym sposobem na przedstawienie pozytywów. Edycja: nie, nie jest.ln(e^(ln(eeeee)ln(eeee)))jest lepszy na 20