เป้าหมายของความท้าทายนี้คือการเขียนโปรแกรมที่ตรงตามเงื่อนไขต่อไปนี้:
โปรแกรมไม่ใช่ palindromic หรือเป็นหลัก palindromic (หมายความว่ามันเป็นไปได้ที่จะลบตัวอักษรเพื่อให้เป็น palindrome โดยไม่ต้องเปลี่ยนเอฟเฟกต์ของโปรแกรม)
โปรแกรมไม่ใช่ส่วนร่วม (หมายความว่าจะไม่สร้างอินพุตดั้งเดิมเมื่อรันบนเอาต์พุต)
โปรแกรมกลับขั้ว -เป็นสิ่งที่ตรงกันข้ามของโปรแกรมปกติ; ดังนั้นเมื่อโปรแกรมที่กลับด้านทำงานในเอาต์พุตของโปรแกรมปกติมันจะคืนค่าอินพุตดั้งเดิม
สิ่งที่ตรงกันข้ามขั้วหมายความว่าอะไร? มันแตกต่างกันระหว่างภาษา
- สำหรับส่วนใหญ่ที่ไม่ใช่ esolangs นี้หมายถึงการกลับคำสั่งของการดำเนินงานย่อยในการดำเนินงานเดียวกลับคำสั่งของการขัดแย้งและการย้อนกลับเนื้อหาของรายการ / อาร์เรย์ / tuples / tuples / พจนานุกรม / สแต็คคิว / ฯลฯ เป็นการย้อนกลับลำดับของโค้ดบล็อกและบรรทัดแบบสแตนด์อะโลน (แต่ไม่ใช่บรรทัดภายในบล็อก)
ตัวอย่าง:
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 ตัวอักษร (เช่น Pyth, APL) เพียงย้อนกลับสตริงคำแนะนำ
สำหรับ esolangs 1 มิติอย่าง BF กลับคำแนะนำหรือสลับขั้ว สัญญาแลกเปลี่ยนขั้วคือ
[]
->{}
,+
->-
,-
->+
,>
-><
,<
->>
,.
->,
และ,
->.
(แต่ไม่ใช่ทั้งคู่)สำหรับ esolangs 2 มิติเช่น Befunge คุณอาจทำการสะท้อนผ่านแกน x หรือ y หรือแกนทแยงมุม, หมุน 180 องศาหรือทำการรวมกันของการสะท้อนและการหมุน
อนุญาตให้มีการดำเนินการสลับได้ แต่พาลินโดรมิกนั้นไม่ใช่: ใช้ได้2*x
แต่x+x
ไม่ดี คำจำกัดความของการสลับขั้วกลับค่อนข้างหลวม แต่ใช้วิจารณญาณของคุณในสิ่งที่สมเหตุสมผล วัตถุไม่ได้เพื่อหาช่องโหว่ที่ฉลาดที่สุด แต่เพื่อค้นหาทางออกที่ฉลาดที่สุด
นี่คือการประกวดความนิยมดังนั้นช่องโหว่ที่ฉลาดมากอาจได้รับความนิยม แต่พยายามเก็บไว้ในจิตวิญญาณของความท้าทายนี้ ผู้ชนะจะได้รับการประกาศเมื่อมีอย่างน้อย 10 โซลูชันที่มีอย่างน้อย 1 upvote และมีอย่างน้อยหนึ่งโซลูชันที่มี upvotes มากกว่าที่มีการส่งอย่างน้อย 1 upvote หรือใน 1 เดือนแล้วแต่ว่าจะถึงอย่างใดก่อน นี่คือความท้าทายครั้งแรกของฉันดังนั้นพยายามที่จะเป็นธรรมและให้ข้อเสนอแนะที่สร้างสรรค์ แต่ยังแจ้งให้ฉันทราบว่านี่เป็นความท้าทายที่ไม่มีเหตุผลหรือเป็นในทางที่ผิดประเภทหรือไม่ชัดเจน หากคุณมีคำถามเกี่ยวกับภาษาที่ไม่เหมาะสมกับนกพิราบตัวใดตัวหนึ่งที่ฉันตั้งไว้ที่นี่แสดงความคิดเห็นและฉันจะโค้งงอตามความประสงค์ของชุมชนหากมีการโวยวายอย่างชัดเจนสำหรับการชี้แจงหรือการเปลี่ยนแปลงกฎโดยเฉพาะ
UPDATE
เป็นเวลา 1 เดือนนับตั้งแต่การประกวดเริ่มขึ้น (ฉันเพิ่งเกิดขึ้นเพื่อตรวจสอบโดยบังเอิญไม่รู้ว่าฉันตรงเวลา) เช่นนี้เป็นประกวดความนิยมผู้ชนะ (ถล่มทลาย) เป็น Pietu1998-Befunge แม้ว่าส่วนประกอบด้านล่าง (ตัวพลิกข้อความและตัวอักษรด้านหลัง) เป็นทั้งการเรียงตัว แต่ตัวเข้ารหัส / ตัวถอดรหัสไม่ดังนั้นจึงไม่มีปัญหา คะแนนโบนัส (ในใจของฉัน) สำหรับการจัดการเพื่อเขียน "BEFUNGE" ลงตรงกลาง ฉันชอบความแปลกใหม่ของโซลูชัน ThisusของZgarbเนื่องจากภาษานั้นดูเท่ห์ (ถ้าถูก จำกัด ) ขอบคุณทุกคนที่เข้าร่วมและในขณะที่ผู้ชนะได้รับเลือกฉันจะเปิดการแข่งขันนี้อย่างสมบูรณ์และยินดีต้อนรับการส่งในอนาคต
()
palindromic หรือไม่ )(
ในทางเทคนิคกลับเป็น