... setidaknya untuk beberapa definisi "modifikasi diri".
Tugas
Dalam tantangan ini, tugas Anda adalah menulis tiga string A, Bdan Citu memenuhi properti berikut.
String
Bmemiliki 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.ABnCACABCABBCABBBCUntuk 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.ABmCABnCABm*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 AdanC , skor yang lebih rendah lebih baik. Perhatikan bahwa sementara Btidak dihitung ke arah skor, itu harus dihasilkan oleh Adan Cseperti 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, Bdan Cdalam jawaban Anda dalam beberapa cara, dan didorong untuk menjelaskan solusi Anda.