1
Levenquine เป็นวงกลม
พื้นหลัง ในฐานะที่เป็นประจำ PPCG ส่วนใหญ่จะรู้ว่าควินเป็นโปรแกรมที่ส่งออกซอร์สโค้ดของตัวเองเมื่อทำงาน; และระยะทางของ Levenshteinระหว่างสองสายคือจำนวนขั้นต่ำของการแทรกการลบและการแก้ไขที่จำเป็นในการเปลี่ยนหนึ่งสายเป็นอีกสายหนึ่ง ในความท้าทายนี้เราได้รวมแนวคิดทั้งสองไว้ใน "levenquine": โปรแกรมที่ส่งออกซอร์สโค้ดของตัวเอง แต่มีอินสแตนซ์หนึ่งของอักขระหนึ่งตัวที่แทรกลบหรือแทนที่ด้วยอักขระอื่น (กล่าวอีกนัยหนึ่งระยะทางของ Levenshtein ระหว่างโปรแกรมและผลลัพธ์คือ 1) งาน เขียน levenquine เพื่อให้ผลลัพธ์เป็น levenquine, ผลลัพธ์ของโปรแกรมนั้นเป็น levenquine, และอื่น ๆ นอกจากนี้ในบางจุดลำดับของการรันโปรแกรมซ้ำ ๆ , การรันเอาต์พุต, การรันเอาต์พุตของเอาต์พุต, ฯลฯ ในที่สุดจะต้องกลับมาที่โปรแกรมต้นฉบับ มีข้อ จำกัด เพิ่มเติมหนึ่งข้อที่ทำให้สิ่งต่าง ๆ ยากขึ้น: จะต้องมีสองโปรแกรมที่แตกต่างกันบางแห่งในวงรอบนี้ซึ่งไม่มีตัวอักษรที่เหมือนกัน (ในคำอื่น ๆ ไม่มีตัวละครที่มีอยู่ในโปรแกรมหนึ่ง โปรแกรมของคุณจะต้องค่อยๆแปลงตัวเองเป็นชุดอักขระที่แตกต่างกันและกลับมาอีกครั้ง หากคุณกำลังใช้ภาษาการเขียนโปรแกรมซึ่งไม่จำเป็นต้องมีสำเร็จรูปสำเร็จรูปที่ต้องการในโปรแกรมใด ๆ ที่สร้างผลลัพธ์ (เช่นมีเพียงวิธีเดียวในการเขียนprintคำสั่งและไม่มีรูปแบบการส่งออกที่มีประโยชน์อื่น ๆ ) คุณอาจถือว่าสำเร็จรูปนั้นไม่มีอยู่จริง ของการพิจารณาว่าตัวละครสองตัวใดมีเหมือนกัน อย่างไรก็ตามคุณจะต้องนับจำนวนแผ่นเหล็กสำเร็จรูปเพื่อวัตถุประสงค์ในการกำหนดคุณสมบัติ Levenquine …