Tantangan
Tugas Anda adalah menulis sepotong kode yang menghasilkan sepotong kode lain. Kode itu pada gilirannya harus mengeluarkan lagi kode lain sampai kode akhir mengeluarkan bilangan bulat 1 . Rantai berakhir saat pertama kali 1 dihasilkan.
Tidak ada program Anda yang dapat membagikan karakter apa pun (ada satu pengecualian di bagian Aturan).
Pengajuan yang menang akan menjadi pengajuan dengan rantai terpanjang. Tie-breaker akan menjadi total panjang kode terpendek.
Aturan:
- Anda dapat menggunakan kedua fungsi, program, dan cuplikan. Anda dapat mengasumsikan lingkungan REPL.
- Semua fungsi harus ditulis dalam bahasa yang sama
- Simbol bahasa independen tidak diizinkan. Ini termasuk sebagian bahasa bebas simbol seperti Headecks.
- Pemformatan output default secara opsional dapat diabaikan dalam output fungsi. Ini termasuk mengikuti baris baru,
ans =
dll. - Anda dapat menggunakan kembali karakter spasi (ASCII code point 32), tetapi perhatikan hal berikut:
- Anda dapat menggunakan karakter spasi sebanyak yang Anda suka di salah satu fungsi, tetapi batasi hingga 5 di semua fungsi lainnya
- Anda tidak boleh menggunakan kembali karakter apa pun jika titik kode 32 bukan spasi dalam bahasa Anda.
Tidak ada program yang dapat mengambil input
Panjang rantai minimal harus dua program.
Contoh:
Kode awal Anda adalah abc+cab+bac
. Output ini:, foofoo*123
yang pada gilirannya menghasilkan disp(~0)
, yang menghasilkan 1
. Ini adalah rangkaian 3 program, dengan panjang gabungan 29 (tie breaker).
2^3
, yang hanya akan mengevaluasi 1
, atau apakah itu harus misalnya lambda:2^3
, print(2^3)
, dll?
1
berupa program dan output dari program itu atau apakah rantai berakhir kapan 1
outputnya?