Tentang Seri
Pertama, Anda dapat memperlakukan ini seperti tantangan golf kode lainnya, dan menjawabnya tanpa khawatir tentang seri sama sekali. Namun, ada papan peringkat di semua tantangan. Anda dapat menemukan papan peringkat bersama dengan beberapa informasi lebih lanjut tentang seri di posting pertama .
Meskipun saya memiliki banyak ide untuk seri ini, tantangan di masa depan belum ditetapkan. Jika Anda memiliki saran, beri tahu saya di pos kotak pasir yang relevan .
Lubang 4: Paradox Bertrand
The Bertrand Paradoks merupakan masalah yang menarik, yang menunjukkan metode bagaimana yang berbeda untuk memilih akord acak dalam lingkaran dapat menghasilkan distribusi yang berbeda dari akord, titik-titik tengah mereka dan panjang mereka.
Dalam tantangan ini, Anda diharapkan membuat akor acak dari lingkaran unit, menggunakan metode "benar", yaitu yang menghasilkan distribusi akor yang tidak berubah pada penskalaan dan terjemahan. Dalam artikel Wikipedia yang ditautkan, "Metode 2" adalah metode semacam itu.
Berikut aturan yang tepat:
- Anda harus mengambil satu bilangan bulat positif
Nyang menentukan berapa banyak akor yang harus dikembalikan. Outputnya harus berupa daftarNakor, masing-masing ditentukan sebagai dua titik pada lingkaran satuan, yang diberikan oleh sudut kutubnya dalam radian. - Kode Anda harus dapat mengembalikan setidaknya 20 nilai yang berbeda untuk masing-masing dari dua sudut . Jika RNG Anda yang tersedia memiliki rentang yang lebih kecil, Anda harus terlebih dahulu membangun RNG dengan rentang yang cukup besar di atas built-in satu atau Anda harus menerapkan RNG Anda sendiri yang sesuai . Halaman ini mungkin bermanfaat untuk itu.
- Distribusi akord harus dapat dibedakan dari yang dihasilkan oleh "Metode 2" dalam artikel Wikipedia yang ditautkan. Jika Anda menerapkan algoritma yang berbeda untuk memilih akor, harap sertakan bukti kebenaran. Algoritma apa pun yang Anda pilih untuk diterapkan, secara teoretis harus dapat menghasilkan akor yang valid dalam lingkaran unit (kecuali batasan PRNG yang mendasari atau tipe data presisi terbatas).
- Implementasi Anda harus menggunakan dan mengembalikan angka floating-point (lebar minimal 32 bit) atau angka fixed-point (setidaknya lebar 24 bit) dan semua operasi aritmatika harus akurat dalam paling banyak 16 ulp .
Anda dapat menulis program atau fungsi lengkap dan mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah atau argumen fungsi dan menghasilkan output melalui STDOUT (atau alternatif terdekat), mengembalikan nilai fungsi atau parameter fungsi (keluar).
Keluaran mungkin dalam format daftar atau string yang mudah, selama nomor individual jelas dapat dibedakan dan jumlah totalnya selalu genap.
Ini adalah kode golf, jadi pengiriman terpendek (dalam byte) menang. Dan tentu saja, pengiriman terpendek per pengguna juga akan masuk ke papan peringkat keseluruhan seri.
Visualisasi
Anda dapat menggunakan potongan berikut untuk membuat garis yang dihasilkan dan memeriksa distribusinya. Cukup rekatkan daftar pasang sudut ke area teks. Cuplikan harus dapat menangani hampir semua format daftar, asalkan angkanya adalah angka desimal sederhana (tidak ada notasi ilmiah). Saya sarankan Anda menggunakan setidaknya 1000 baris untuk mendapatkan ide distribusi yang bagus. Saya juga memberikan beberapa contoh data untuk berbagai metode yang disajikan dalam artikel di bawah ini.
Contoh data yang dihasilkan dengan metode 1.
Contoh data yang dihasilkan dengan metode 2.
Contoh data yang dihasilkan dengan metode 3.
Papan peringkat
Pos pertama dari seri ini menghasilkan papan peringkat.
Untuk memastikan jawaban Anda muncul, mulailah setiap jawaban dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana Nukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
# Ruby, <s>104</s> <s>101</s> 96 bytes
(Bahasa saat ini tidak ditampilkan, tetapi cuplikan memang membutuhkan dan menguraikannya, dan saya dapat menambahkan leaderboard berdasarkan bahasa di masa mendatang.)



