Edycja: meta-golf
Wkrótce opublikuję nowszą wersję tego pytania . Trzymaj toon!
Edycja nr 2: Nie będę już aktualizować wyzwania, ale pozostawię je otwarte. meta-golf
Wersja 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ą i
za 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ą k
za 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)=10
ieln(e)=e
. ln e
nie 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