Anda harus menulis sebuah program atau fungsi yang, ketika diberi tak kosong serangkaian S dari N karakter yang dapat dicetak ASCII † , output program yang akan keluar dengan kode keluar C , di mana C adalah codepoint ASCII pada posisi 0 di S . Program ini Anda menulis akan tambahan keluaran program P , sehingga, ketika dijalankan, itu keluar dengan kode keluar C ' , di mana C' adalah codepoint ASCII pada posisi 1 di S . Program P akan menampilkan program P lainnya . Proses ini berulang hingga tidak ada karakter yang tersisa di S. Setelah ini dilakukan, Anda harus mengeluarkan apa-apa, diikuti oleh baris opsional baru; dan harus keluar dengan kode keluar 0.
† Karakter antara 0x20
dan 0x7e
inklusif.
Beberapa aturan lagi:
- Program modifikasi diri tidak diperbolehkan: Anda harus menampilkan sumber ke STDOUT (atau, mengembalikan nilai awalnya)
- Anda mungkin tidak membaca kode sumber Anda sendiri.
Program terpendek dalam byte akan menang.
Untuk beberapa pengujian yang belum sempurna, skrip ruby ini dapat digunakan. (Argumen pertama adalah cara Anda menjalankan skrip, yang kedua adalah program, dan yang ketiga adalah string input.)
Contoh Hipotetis
Katakan programnya FOO
. Ketika diberi string "ABC", itu menghasilkan BARA
. Program ini keluar dengan kode 65
dan keluaran BARB
. Ini pada gilirannya keluar dengan kode 66
dan ouputs BARC
. Program ini keluar dengan kode 67
dan keluaran BAR!
. Ini tidak menghasilkan apa-apa, dan keluar dengan kode 0
.
33 throw
melempar nomor sewenang-wenang. Anda menggunakan negatif untuk tingkat OS, dan offset -512. Idk banyak juga, tapi aku mencari di sini: complang.tuwien.ac.at/forth/gforth/Docs-html/…
0
adalah Sukses. tio.run/nexus/…