Tiếp theo từ thử thách đặt hàng thứ ba , nhiệm vụ của bạn là viết một chương trình Ouroboros sử dụng càng nhiều ngôn ngữ càng tốt.
Nghĩa là, trong ngôn ngữ A, hãy viết chương trình pA tạo ra chương trình pB bằng ngôn ngữ B. Chương trình pB sẽ xuất chương trình pC bằng ngôn ngữ C, và cứ như vậy cho đến khi cuối cùng một chương trình xuất ra chương trình pA gốc bằng ngôn ngữ A.
Không có hai ngôn ngữ trong vòng lặp của bạn có thể giống nhau hoặc tập hợp con hoặc siêu bộ của nhau. Không có chương trình nào trong vòng lặp có thể giống hệt nhau.
Chuỗi ngôn ngữ dài nhất giành chiến thắng. Độ dài của mã nguồn sẽ là bộ ngắt kết nối.
Dưới đây là một giải pháp ví dụ về độ dài 3 được đưa ra bởi Ventero.
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
với Python tạo đoạn mã Perl này
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
tạo mã Ruby sau
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
sau đó in đoạn mã Python gốc:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s