pengantar
Pareidolia : Dari Yunani Kuno; παρα ( para , “bersamaan, bersama”) + εἴδωλον ( eídōlon , “image”). Kecenderungan untuk menafsirkan stimulus samar sebagai sesuatu yang diketahui oleh pengamat, seperti menafsirkan tanda di Mars sebagai kanal, melihat bentuk di awan, atau mendengar pesan tersembunyi dalam musik. Sumber: Wiktionary .
Sebagai contoh:
Paralogia : Dari Yunani Kuno; παρα ( para , “bersamaan, bersama”) + λόγος ( lógos , "ucapan, orasi, kata, ..."). Kecenderungan untuk memahami kata-kata dalam urutan karakter yang sewenang-wenang, seperti dalam program golf kode. Sumber: ya, saya mengarangnya (sebenarnya kata itu berarti sesuatu yang lain , seperti yang ditunjukkan oleh @Martin).
Sebagai contoh:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Tantangan
Tulis program yang menggunakan bilangan bulat positif sebagai input, menghasilkan bilangan bulat sebagai output, dan memasukkan kata bahasa Inggris sebagai bagian dari kode. Hubungan input-output harus sesuai dengan urutan integer yang dapat ditemukan di OEIS .
Aturan
- Hanya kata-kata dari daftar ini yang diizinkan. Ini memang sewenang-wenang, tetapi penting bagi kita semua untuk menyetujui kata-kata mana yang diterima; dan dalam hal ini daftar ini mungkin sama baiknya dengan yang lain.
- Kata-kata perlu dibentuk dengan menggabungkan setidaknya dua nama atau pernyataan fungsi. Jika bahasa Anda misalnya memiliki fungsi yang disebut
correlation
tidak dapat digunakan apa adanya. Rangkaian harus ketat: tidak ada simbol lain yang muncul di antara bagian kata. Misalnya,bro~ken
tidak akan dihitung sebagai kata. - Kasus tidak penting: keduanya
valid
danvaLiD
dapat diterima. - Kata-kata dalam string tidak masuk hitungan. Huruf-huruf yang membentuk kata perlu fungsi atau pernyataan dalam bahasa pilihan, yaitu, sesuatu yang sebenarnya dieksekusi . Sebagai contoh, kode berikut tidak akan diizinkan:, di
'deoxyribonucleic'~1
mana'...'
string,~
membuang konten sebelumnya, dan1
hanya mencetak nomor1
. - Setiap huruf dari kata harus diperlukan . Ini berarti bahwa menghapus satu huruf dari kata harus mengubah hubungan input-output. Itu termasuk keluaran urutan yang berbeda, atau keluaran hal lain, atau tidak menghasilkan keluaran, atau menyebabkan kesalahan.
- Setiap bilangan bulat positif harus dapat diterima sebagai input, dan harus menghasilkan output, kecuali untuk tipe data atau batasan memori.
- Output sesuai dengan input
1
,2
,3
, ... harus sesuai dengan urutan muncul di Oei . Tidak ada output lain yang diproduksi; hanya angka integer, mungkin dengan spasi tambahan atau spasi terdepan. - Input dan output dapat berupa argumen fungsi atau stdin / stdout.
Skor
Skor dihitung sebagai panjang kode total dikurangi dua kali panjang kata terpanjang, dalam karakter. Atau dengan kata lain, jumlah karakter tidak-dalam-kata terpanjang dikurangi panjang kata terpanjang.
Skor terendah menang.
Contohnya
Pertimbangkan bahasa postfix imajiner yang memiliki fungsi-fungsi ini c
:: masukkan nomor; At
: hitung kuadrat; $
: tambahkan 1.
cAt
akan menjadi program yang valid (output berkorespondensi ke urutan 1
, 4
, 9
, ..., yang A000290 ), dan itu akan memiliki skor -3.
cAt$
juga akan berlaku (urut 2
, 5
, 10
, ..., yang A002522 ), dengan skor -2.
c$At
tidak akan valid, karena satu-satunya kata di sini adalah "Di" dan diproduksi oleh satu fungsi atau pernyataan.
Jawaban:
CJam, -20
Menghasilkan elemen ke-n dalam urutan A010861 .
Menghapus karakter dari kata menghasilkan urutan A010860 yang sangat berbeda . Ada hubungan yang cukup menarik antara dua urutan: pada setiap indeks n,
A010860(n)
adalah coprime toA010861(n)
! Pasti ada beberapa alasan matematika yang mendalam di balik ini.Coba di sini .
sumber
CJam, -5
A010051 : mencetak
0
untuk angka komposit dan1
untuk bilangan prima.Saya butuh selamanya untuk menemukan sesuatu yang mencetak beberapa poin dan akan pecah pada penghapusan surat apa pun. Menghapus apa pun kecuali
m
melempar kesalahan, dan menghapusm
mengubah program menjadi fungsi identitas.Cobalah online.
sumber
05AB1E ,
-4-11Kode, mencetak A010869 (konstan 30):
Kode sebelumnya:
Penjelasan:
Mencetak urutan A010879 .
sumber
MATL , −6
Cobalah online!
Menghasilkan urutan
1
,2
,3
, ... ( A000027 )Menghapus huruf apa pun akan mengubah output, atau membiarkan program mengharapkan input kedua yang tidak ada, atau menghasilkan kesalahan.
Penjelasan
Program ini hanya menghirup angka dan, setelah beberapa mengotak-atik, menghembuskannya tidak berubah.
sumber
Pyth, 1
Penjelasan?
1, 2, 3, 4, 5 ...
Urutan A000027
Pesan bawah sadar? Tidak pernah.
Coba di sini.
sumber
Japt, -6
Output A004453 : nimsum dari N dan 12 (N XOR 12). Uji secara online!
Catatan: urutan OEIS diindeks 0, sehingga input 0 akan menghasilkan item pertama.
Bagaimana itu bekerja
sumber
Y
menghasilkan hasil yang sama? (kecuali saya melakukan sesuatu yang salah)Headecks , skor −4
Ini memetakan ke program Brainfuck
,+-.
, yang membaca satu karakter dan mencetaknya, menghitung A000030 . Menghapus karakter apa pun jelas akan merusaknya.Ada juga
marshal
(,-<>+-.
), yang efektif,-.
, tetapi itu tidak sesuai dengan urutan OEIS.sumber
kode mesin x86, skor -4
Hexdump kode:
Atau, dalam kode halaman 437 :
Kode perakitan:
Fungsi yang menambahkan 1 ke argumennya .
Menghapus
A
mengubahnya menjadi fungsi identitas. Menghapus byte lain akan mengacaukan tumpukan, menyebabkan kerusakan atau perilaku buruk fungsi panggilan.Saya cukup yakin itu mungkin untuk meningkatkan skor, tetapi mungkin tergantung pada interpretasi persyaratan. Misalnya, menggunakan kata
SQUEAMIShness
memberi program, yang meningkat dan kemudian mengurangiebp
register. Apakah menghapus salah satu dari ini menyebabkan kerusakan? Program uji paling sederhana tidak menggunakanebp
register, jadi mungkin tidak ... Untuk menghindari keraguan ini, saya menggunakan kata yang lebih pendek.sumber
Ruby, skor 3
Ini menghitung urutan identitas A000027 . Keluaran dikelilingi oleh beberapa spasi putih; Saya harap tidak apa-apa.
sumber
Matematika ++, skor -2
Menerapkan A000004 .
sumber