Code golf selalu melibatkan beberapa jawaban yang sedikit banyak membengkokkan aturan dengan melanggar batasan yang diterima oleh penantang atau hanya belum memikirkan dan tidak tercantum dalam aturan. Salah satu celah yang menarik ini adalah kemungkinan untuk menghasilkan lebih dari tantangan yang diminta untuk mendapatkan hasil yang lebih baik.
Mengambil ini ke ekstrem, kita dapat menulis pemecah kode golf universal yang mencetak output yang diinginkan - jika Anda tidak peduli itu mungkin butuh waktu lama dan menghasilkan banyak hal lain sebelum dan sesudahnya.
Yang kita butuhkan untuk output adalah urutan yang dijamin mengandung setiap kemungkinan berikutnya. Untuk golf kode ini, ini akan menjadi urutan Ehrenfeucht-Mycielski :
Urutan dimulai dengan tiga bit 010; setiap digit berurutan dibentuk dengan mencari sufiks terpanjang dari urutan yang juga muncul sebelumnya dalam urutan, dan melengkapi bit mengikuti penampilan sufiks sebelumnya yang paling baru.
Setiap akhir bit yang terbatas terjadi secara bersebelahan, tak terhingga sering dalam urutan
Beberapa digit pertama dari urutan tersebut adalah:
010011010111000100001111 ... (urutan A038219 dalam OEIS ).
Menggabungkan 8 bit dari urutan ke byte, kita akan mendapatkan output ASCII yang bisa kita output ke layar atau ke file dan yang berisi setiap kemungkinan output hingga . Program ini akan menampilkan bagian pi, lirik “Never will give up up” , beberapa seni ASCII yang bagus, kode sumbernya sendiri, dan semua yang Anda inginkan untuk ditampilkan.
Untuk menguji kebenaran, berikut adalah hash untuk 256 byte pertama dari urutan:
MD5: 5dc589a06e5ca0cd9280a364a456d7a4
SHA-1: 657722ceef206ad22881ceba370d32c0960e267f
8 byte pertama dari urutan dalam notasi heksadesimal adalah:
4D 71 0F 65 27 46 0B 7C
Aturan:
Program Anda harus menampilkan urutan Ehrenfeucht-Mycielski (tidak ada yang lain), menggabungkan 8 bit ke karakter byte / ASCII.
Program terpendek (jumlah karakter) menang. Kurangi 512 dari jumlah karakter Anda jika Anda berhasil membuat urutan dalam waktu linier per byte yang dihasilkan .