หลังจากดำเนินการท้าทายลำดับที่สามงานของคุณคือการเขียนโปรแกรมOuroborosที่ใช้ภาษาได้มากที่สุด
นั่นคือในภาษา A ให้เขียนโปรแกรม pA ซึ่งเอาต์พุตโปรแกรม pB ในภาษา B โปรแกรม pB ควรเอาต์พุตโปรแกรม pC ในภาษา C และต่อ ๆ ไปจนกระทั่งในที่สุดโปรแกรมจะส่งออกโปรแกรมดั้งเดิม pA ในภาษา A
ไม่มีสองภาษาในลูปของคุณสามารถเหมือนกันหรือเซ็ตย่อยหรือซูเปอร์เซ็ตของกันและกัน ไม่มีโปรแกรมใดในลูปที่อาจจะเหมือนกัน
โซ่ที่ยาวที่สุดของภาษาชนะ ความยาวของซอร์สโค้ดจะเป็นตัวแบ่งไทเบรก
นี่คือตัวอย่างการแก้ปัญหาของความยาว 3 ที่กำหนดโดย Ventero
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
ด้วย Python สร้างตัวอย่างของ Perl นี้
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
ซึ่งสร้างรหัสทับทิมต่อไปนี้
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
ซึ่งจะพิมพ์ตัวอย่าง Python ดั้งเดิม:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
10
ที่เกี่ยวข้อง: 50 ภาษา "Ouroboros"
—
algorithmshark
คล้ายกันมาก (ปิด): สร้างกลุ่มโปรแกรมในภาษาต่างๆ
—
Ypnypn
@Ypnypn มันไม่เหมือนกันใช่มั้ย ฉันหมายถึงการทำลูปให้นานที่สุดเท่าที่จะเป็นไปได้ด้วยไทเบรกเกอร์ของความยาวซอร์สโค้ด ไม่มีใครเคยมีโอกาสโพสต์ความยาว 4 Ouroborous มาก่อน :) นอกจากนี้ยังมีวงที่แตกต่างจากห่วงโซ่
มันคล้ายกับอันนี้จริง ๆแต่นั่นไม่ต้องการลำดับวนรอบดังนั้นจึงไม่มีองค์ประกอบควินิน
—
Martin Ender