Tujuannya adalah untuk menulis program yang mengkodekan program lain (input) dengan karakter sesedikit mungkin.
Mencetak gol
- Skor sama dengan jumlah karakter yang dibutuhkan untuk output.
- Skor yang lebih rendah lebih baik.
Aturan
- Tidak ada bahasa target dengan serangkaian perintah terbatas. (Tanpa Brainf ** k, Spasi dll.)
Edit : Maksud saya setidaknya 26 karakter signifikan,A
tidak mengubah cara program Brainf ** k beroperasi, jadi Anda tidak dapat menghitung karakter ini. Hal yang sama berlaku untuk spasi putih. - Bahasa target harus ada pada saat pertanyaan ini ditulis.
- Anda harus memasukkan sedikit penjelasan bagaimana Anda mengarsip skor Anda.
- Program input valid.
- Program yang disandikan harus merupakan program yang valid dalam bahasa yang sama dengan input.
- Program yang disandikan harus melakukan pekerjaan yang sama dengan program aslinya.
- Encoder Anda harus bekerja untuk setiap program yang valid dalam bahasa itu.
- Sertakan beberapa sampel input dan output.
Catatan
- Encoder dapat ditulis dalam bahasa apa pun, tidak hanya dalam bahasa yang ditargetkan.
- Ini bukan kode-golf , program yang mudah dibaca dianjurkan.
- Tujuan besarnya adalah untuk melihat berapa banyak karakter berbeda yang diperlukan untuk menulis apa pun dalam bahasa itu. Saya melarang BF dll karena tidak akan ada tantangan.
- Ini terinspirasi oleh Mencetak string dalam karakter yang sesedikit mungkin , Anda bisa menganggapnya sebagai metagolf untuk pertanyaan itu.
Contoh
Di Jawa, Anda bisa menggunakan \uXXXX
karakter lain sebagai gantinya. Entri yang valid mengkodekan setiap karakter dari input dengan cara ini. Ini akan memiliki skor 18. ( \ 0-9a-f
)
Kode dalam Tcl, mengkodekan program Java:
set res {}
foreach char [split [read stdin] {}] {
append res [format \\u%04x [scan $char %c]]
}
puts $res
gets
membaca satu baris input saja? Dan Anda melewatkan u
encoder Anda (tetapi di sisi lain Anda tidak membutuhkan ruang dan skornya tetap sama).