Edit: meta-golfYakında bu sorunun daha yeni bir sürümünü yayınlayacağım . Kalmak!
Edit # 2: Artık meydan okumayı güncellemeyeceğim, ancak açık bırakacağım. meta-golfSürümüne buradan ulaşabilirsiniz: /codegolf/106509/obfuscated-number-golf
Arka fon:
Çoğu sayı yalnızca 6 farklı sembolle yazılabilir:
e(Euler Sabiti)-(Çıkarma, Olumsuzluk)^(Üs)()ln(Doğal logaritma)
Örneğin, ibu denklemi kullanarak hayali sayıyı dönüştürebilirsiniz :
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
Hedef:
Herhangi kbir makul yolla herhangi bir tamsayı göz önüne alındığında , yalnızca bu 6 sembolü kullanarak bu sayının mümkün olan en kısa gösterimini yapın.
Örnekler:
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)"
Notlar:
- Parantez sonunu toplam karakter sayısına doğru bitirmek.
ln(sadece 1 karakter olarak sayılır.- Diğer her şey 1 karakter olarak sayılır.
n^0=1- İşlem sırası geçerlidir
- Parantez çoğaltan örneğin, kabul edilebilir
(2)(8)=16,2(5)=10veeln(e)=e. ln egeçerli değil, yapmalısınln(e)
ln(eeee)^ln(ee)daha kısadır ln(eeeeeeeeeeeeeeee)16 için
ln(ee...e)) pozitifleri tasvir etmenin en iyi yoludur. Düzenleme: hayır, değil.ln(e^(ln(eeeee)ln(eeee)))20 için daha iyi