Pareto Dağılımı doğada çok çıkageldi bir olasılık dağılımıdır. Sonsuz bir ortalama gibi birçok özel özelliğe sahiptir. Bu mücadelede, bu dağıtımdan örneklenen bir sayı çıkacaksınız.
Pareto Dağılımının x
olasılık 1/x
, x
1'den büyük veya 1'e eşit olması olasılığına eşit veya daha büyük olduğu tanımlanır .
Bu nedenle, bu dağılımdan örneklenen bir sayı, olasılık 1 ile 1, büyük, tam olasılık 2 ile büyük veya tam olarak 1/2, eşit olasılık, tam 1/3, büyük veya 1 ile eşit 11.4 olasılıkla tam olarak 1 / 11.4, vb.
Bu dağıtımı örnekleyeceğinizden, programınız veya işleviniz giriş yapmaz ve yukarıdaki olasılıklarla rasgele bir sayı çıkarır. Bununla birlikte, programınız kayan nokta gösterimi nedeniyle yukarıdaki olasılıklarla tam olarak eşleşmiyorsa, sorun değil. Daha fazla ayrıntı için mücadelenin en altına bakın.
(Bu, Pareto Dağılımı ile alfa 1 ve alt sınır 1 ile kesin olarak adlandırılır)
İşte bu dağılımdan 10 örnek:
1.1540029602790338
52.86156818209856
3.003306506971116
1.4875532217142287
1.3604286212876546
57.5263129600285
1.3139866916055676
20.25125817471419
2.8105749663695208
1.1528212409680156
5'in 2'nin altında ve 5'in 2'nin üzerinde olduğuna dikkat edin. Bu ortalama sonuç olduğundan, elbette daha yüksek veya daha düşük olabilirdi.
Cevabınızın yalnızca kayan nokta türünüzün, gerçek sayı türünüzün ya da başka ne kullandığınızın sınırları kadar doğru olması gerekir, ancak sayıları en az 3 ondalık basamağa kadar temsil edebilmeli ve 1.000.000 adede kadar rakamları gösterebilmelisiniz. . Bir şeyin yolunda olup olmadığından emin değilseniz, sormaktan çekinmeyin.
Bu kod golfü.
Hassasiyet hakkında detaylar:
Her aralık için
[a, b]
,1 <= a < b
numunenin bu aralıkta düşeceği ideal olasılıktır1/a - 1/b
. Programınız bu aralıktaki bir sayı üretir olasılık ile olmalıdır0.001
arasında1/a - 1/b
. EğerX
senin Programın çıktısı, o gerekmektedir|P(a <= X <= b) - (1/a - 1/b)| < 0.001
.Yukarıdaki kuralı uygulayarak
a=1
veb
yeterince büyük uygulayarak, programınızın en az 0,999 olasılıkla 1'den büyük veya 1 sayıya eşit olması gerektiğini unutmayın. Zamanın geri kalanı çökebilir, çıkabilirInfinity
veya başka bir şey yapabilir.
Var olan formun 1/1-x
ya da rastgele bir 1/x
yerde ya da ya da tümünün bu gereksinimi karşıladığına eminim .x
[0, 1)
(0, 1)
[0, 1]