Tujuan
Hasilkan ( N) segmen garis acak dengan panjang seragam ( l), periksa apakah mereka melintasi tgaris paralel yang sama ( ).
Simulasi
Apa yang kita simulasikan? Jarum Buffon . Menghaluskan pasir di kotak pasir Anda, menggambar satu set garis paralel sama spasi (panggilan jarak di antara t). Ambil tongkat panjang lurus ldan jatuhkan Nkali ke dalam kotak pasir. Biarkan berapa kali melewati batas c. Lalu Pi = (2 * l * n) / (t * c)!
Bagaimana kita mensimulasikan ini?
- Ambil input
N,t,l - Dengan
N, t, lsemua bilangan bulat positif - Lakukan waktu berikut
N:- Hasilkan koordinat bilangan bulat acak yang seragam
x,y - Dengan
1 <= x, y <= 10^6 x,yadalah pusat segmen garis panjangl- Hasilkan bilangan bulat acak seragam
a - Dengan
1 <= a <= 180 - Membiarkan
Pmenjadi titik di mana segmen garis akan melintasi sumbu x - Lalu
aadalah sudutnya(x,y), P, (inf,0)
- Hasilkan koordinat bilangan bulat acak yang seragam
- Hitung jumlah,
csegmen segmen yang melewati garisx = i*tuntuk bilangan bulat apa puni - Kembali
(2 * l * N) / (t * c)
Spesifikasi
- Memasukkan
- Fleksibel, mengambil input dengan cara standar apa pun (misalnya parameter fungsi, STDIN) dan dalam format standar apa pun (mis. String, Binary)
- Keluaran
- Fleksibel, memberikan hasil dengan cara standar apa pun (mis. Mengembalikan, mencetak)
- Ruang putih, trailing dan ruang putih utama dapat diterima
- Akurasi, harap berikan setidaknya 4 tempat desimal akurasi (yaitu
3.1416)
- Mencetak gol
- Kode terpendek menang!
Uji Kasus
Output Anda mungkin tidak sejalan dengan ini, karena kebetulan acak. Tetapi rata-rata, Anda harus mendapatkan akurasi sebanyak ini untuk nilai yang diberikan N, t, l.
Input (N,t,l) -> Output
----------- ------
10,10,5 -> ?.????
10,100,50 -> ?.????
1000,1000,600 -> 3.????
10000,1000,700 -> 3.1???
100000,1000,700 -> 3.14??
TL; DR
Tantangan-tantangan ini adalah simulasi algoritma yang hanya membutuhkan alam dan otak Anda (dan mungkin beberapa sumber daya yang dapat digunakan kembali) untuk memperkirakan Pi. Jika Anda benar-benar membutuhkan Pi selama kiamat zombie, metode ini tidak membuang - buang amunisi ! Ada sembilan tantangan total.
ajuga dibuat dengan metode lain, jika seragam? (memikirkan Bubble Gauss 2D)
t > l? Dua solusi di bawah ini membuat asumsi ini, yang menyederhanakan pemeriksaan untuk persimpangan cukup sedikit.

