Bu zorluğun amacı aşağıdaki koşulları sağlayan bir program yazmaktır:
Program palindromik veya esasen palindromik değildir (yani, programın etkilerini değiştirmeden bir palindrom yapmak için karakterleri kaldırmak mümkündür).
Program bir inovasyon değildir (yani çıktısında çalıştırıldığında orijinal girdisini üretmez)
Ters polariteli programı normal program tersidir; böylece ters program normal programın çıktısında çalıştırıldığında, orijinal girdiyi döndürür.
Ters polarite ne anlama geliyor? Diller arasında farklılık gösterir.
- Çoğu esolang için, bu, tek bir işlemdeki alt işlemlerin sırasını tersine çevirmek, bağımsız değişkenlerin sırasını tersine çevirmek ve sabit kodlanmış listelerin / dizilerin / tuples / sözlüklerin / yığınların / kuyrukların / vb. kod bloklarının ve bağımsız satırların sırasını tersine çevirerek (ancak blok içindeki satırları değil)
Örnekler:
Haskell :
x`mod`y
-> y`mod`x
; zipWith ((*3).(+)) [1,2,3] [4,5,6]
->zipWith ((+).(*3)) [6,5,4] [3,2,1]
Python : 2**3
-> 3**2
; for x,y in [(1,2),(3,4),(5,6)]
->for y,x in [(6,5),(4,3),(2,1)]
1 karakterlik fonksiyonlara (Pyth, APL gibi) sahip diller için, talimat dizesini ters çevirin
BF gibi 1 boyutlu esolangs için, talimatları tersine çevirin veya polariteyi değiştirin; polarite swapları
[]
->{}
,+
->-
,-
->+
,>
-><
,<
->>
,.
->,
ve,
->.
(ancak ikisi birden değil)Befunge gibi 2 boyutlu esolanglar için, x- veya y-eksenleri boyunca bir yansıma gerçekleştirebilir veya bir diyagonal oluşturabilir, 180 derece döndürebilir veya bir yansıma ve bir dönüş kombinasyonu yapabilirsiniz
Değişmeli işlemlere izin verilir, ancak palindromik olanlara izin verilmez: 2*x
iyi, ama x+x
kötü. Kutupları tersine çevirmenin tanımı oldukça gevşek, ama mantıklı olan şey konusunda yargınızı kullanın; nesne en akıllı boşlukları bulmak değil, en akıllı çözümü bulmaktır.
Bu bir popülerlik yarışmasıdır, bu yüzden çok zeki bir boşluk popüler olabilir, ancak bu zorluğun ruhu içinde kalmaya çalışın. Kazanan, en az 1 oy veren en az 10 çözüm olduğunda ve en az 1 oy veren başvurulardan daha fazla oy veren en az bir çözüm olduğunda ilan edilecektir; veya 1 ayda, hangisi önce gelirse. Bu benim ilk görevim, bu yüzden adil olmaya çalışın ve bana yapıcı geri bildirim verin, ancak bunun mantıksız bir meydan okuma mı yoksa herhangi bir şekilde yanlış kategorize mi yoksa belirsiz mi olduğunu da bildirin. Burada belirlediğim güvercin deliklerinden herhangi birine uymayan bir dil hakkında sorularınız varsa, yorum yapın ve belirli bir açıklama veya kural değişikliği için güçlü bir çıkıntı varsa, toplumun iradesine eğileceğim.
GÜNCELLEME
Bu yarışmanın başlamasından bu yana tam 1 ay geçti (aslında tam zamanında olduğumu bilmeden şans eseri kontrol ettim). Bu bir popülerlik yarışması olduğu için kazanan (heyelan tarafından) Pietu1998-Befunge'dir . Alttaki bileşenler (metin ters ve geriye doğru alfabe) her ikisi de dahil olsa da, kodlayıcı / kod çözücü değildir, bu yüzden orada bir sorun yoktur. Ortaya "BEFUNGE" yazmayı yöneten bonus puanları (aklımda). Şahsen Zgarb'ın Theseus çözümünün yeniliklerini beğendim , çünkü dil havalı görünüyor (kısıtlanmışsa). Katıldıkları için herkese teşekkürler ve kazanan seçiliyken, bu yarışmayı tamamen açık bırakıyorum ve gelecekteki gönderileri memnuniyetle karşılıyorum.
()
palindromik mi? Teknik olarak tersi )(
.