Dari semua matematika, akan selalu ada beberapa teorema yang melampaui semua akal sehat. Salah satunya adalah kenyataan bahwa ada berbagai ukuran tak terbatas. Fakta lain yang menarik adalah gagasan bahwa banyak infinities yang tampaknya berbeda ukuran sebenarnya dengan ukuran yang sama. Ada bilangan genap sebanyak bilangan bulat, karena ada bilangan rasional.
Konsep umum dari pertanyaan ini adalah untuk menghadapi realitas infinity yang aneh. Dalam tantangan ini, program Anda akan menampilkan daftar yang akan:
- Pada setiap saat waktu tertentu, selalu memiliki sejumlah entri
- Akhirnya berisi (jika dibiarkan berjalan cukup lama) angka rasional spesifik (bukan nol) tepat sekali pada seluruh daftar
- Berisi jumlah slot kosong yang tidak terbatas (entri pada daftar yang tidak perlu diatur ke 0)
- Memiliki proporsi slot kosong yang mendekati batas 100%
- Untuk setiap bilangan bulat positif N, miliki jumlah tempat tanpa batas dengan N slot kosong berturut-turut
Tantangan
Tantangan Anda adalah menulis program sesingkat mungkin yang akan menampilkan daftar khusus dengan aturan berikut:
- Semua entri dengan indeks yang bukan angka kuadrat harus ditetapkan ke nol. Jadi, entri pertama akan nol, yang kedua dan ketiga akan nol, yang keempat akan nol, dll.
- Semua bilangan rasional akan dalam bentuk fraksi yang tidak tepat (seperti 4/5 atau 144/13) yang telah disederhanakan. Pengecualiannya adalah nol, yang akan sederhana
0
. - Semua angka rasional (positif dan negatif) pada akhirnya akan muncul dalam daftar jika program Anda berjalan cukup lama dan dengan memori yang cukup. Untuk bilangan rasional tertentu, waktu yang dibutuhkan mungkin jumlah waktu yang besar, tetapi selalu terbatas.
- Jika dijalankan untuk jumlah waktu yang tidak terbatas, tidak boleh ada nomor rasional yang tidak nol muncul dua kali.
Aturan 3 memang memungkinkan untuk beberapa variasi, karena di sana ada jumlah tak terbatas hasil hukum yang berbeda.
Output akan menjadi aliran garis. Setiap baris akan berupa umum di 5: 2/3
mana angka pertama adalah nomor masuk, kemudian diikuti oleh nomor rasional. Perhatikan bahwa 1: 0
akan selalu menjadi baris pertama output.
Cuplikan contoh output:
1: 1/1
2: 0
3: 0
4: 2/1
5: 0
6: 0
7: 0
8: 0
9: -2/1
10: 0
etc...
Aturan, Peraturan, dan Catatan
Ini golf kode. Aturan golf kode standar berlaku. Juga, karena variasi yang diizinkan dalam output, Anda harus setidaknya menunjukkan mengapa Anda percaya bahwa daftar Anda akan berisi semua angka rasional yang mungkin tepat sekali, dan bahwa solusi Anda benar.
EDIT: Karena bilangan prima mengalihkan perhatian dari tantangan, saya mengubahnya menjadi bilangan kuadrat. Ini mencapai tujuan yang sama, dan juga mempersingkat solusi.
1: 0
akan selalu menjadi baris pertama output. - Ini bertentangan dengan teladan Anda dan juga tidak masuk akal bagi saya.