... setidaknya untuk beberapa definisi "modifikasi diri".
Tugas
Dalam tantangan ini, tugas Anda adalah menulis tiga string A
, B
dan C
itu memenuhi properti berikut.
String
B
memiliki panjang setidaknya 1.Untuk setiap
n ≥ 0
, string adalah program yang valid (artinya program runnable penuh atau definisi fungsi) dalam bahasa pemrograman pilihan Anda. Menunjukan superscript pengulangan, jadi ini berarti string , , , dll Setiap program mengambil satu string sebagai masukan, dan kembali satu string sebagai output.ABnC
AC
ABC
ABBC
ABBBC
Untuk apa pun
m, n ≥ 0
, jika program dijalankan dengan input , ia kembali . Untuk input yang bukan dari formulir ini, program dapat melakukan apa saja, termasuk crash.ABmC
ABnC
ABm*n+1C
Beberapa contoh dalam format program(input) -> output
:
AC(AC) -> ABC
ABC(AC) -> ABC
ABBBBBC(AC) -> ABC
AC(ABC) -> ABC
AC(ABBBBC) -> ABC
ABC(ABC) -> ABBC
ABBC(ABC) -> ABBBC
ABBBBC(ABBBC) -> ABBBBBBBBBBBBBC
ABBBC(ABBBBBBC) -> ABBBBBBBBBBBBBBBBBBBC
Aturan dan Penilaian
Skor Anda adalah total panjang A
danC
, skor yang lebih rendah lebih baik. Perhatikan bahwa sementara B
tidak dihitung ke arah skor, itu harus dihasilkan oleh A
dan C
seperti pada contoh pertama.
Celah standar tidak diijinkan. Program-program tidak diperbolehkan untuk secara langsung atau tidak langsung mengakses kode sumber mereka sendiri (kecuali ketika mereka diberikan sebagai input). Anda diminta untuk mengidentifikasi string A
, B
dan C
dalam jawaban Anda dalam beberapa cara, dan didorong untuk menjelaskan solusi Anda.