Sebagai lanjutan dari tantangan quine urutan ketiga , tugas Anda adalah menulis program Ouroboros yang menggunakan sebanyak mungkin bahasa.
Yaitu, dalam bahasa A, tulis program pA yang menghasilkan program pB dalam bahasa B. Program pB harus mengeluarkan program pC dalam bahasa C, dan seterusnya hingga akhirnya suatu program mengeluarkan program asli pA dalam bahasa A.
Tidak ada dua bahasa di loop Anda yang bisa sama atau himpunan bagian atau superset satu sama lain. Tak satu pun dari program dalam loop mungkin identik.
Rantai bahasa terpanjang menang. Panjang kode sumber akan menjadi tie-breaker.
Berikut adalah contoh solusi panjang 3 yang diberikan oleh Ventero.
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
dengan Python menghasilkan cuplikan Perl ini
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
yang menghasilkan kode Ruby berikut
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
yang kemudian mencetak cuplikan Python asli:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
sumber
Jawaban:
Berikut ini adalah 4 bahasa:
C -> Bash -> Batch -> Python -> C
C
Pesta
Batch
Python
sumber