在一對夫婦最後一次申請的我本來是要實現概率這是通常一些項目中給出計算概率說:與給定的範圍
獎勵在一定程度上完成項目的用戶X
項目X
可能的下面的一個:
jug => probability 25
glass => probability 50
plate => probability 20
dish => probability 5
我通過創建一個數組並填充所述特定項目的時間的概率是多少解決這一;對於上面的情況,我會有一個數組與25 elements of jug, 50 glasses and so on.
。我最後shuffle
{PHP}數組,並從中選擇一個隨機元素。
在另一個應用程序中,這些值總計超過了100,所以我首先從這個總數中計算出他們的尊重百分比,然後使用上面的邏輯。
只是想知道這是從這種結構計算概率的正確方法嗎?
我在這裏經歷了幾個關於特種部隊的問題,但沒有人幫助我解決問題。
如果有更合適的方式來做到這一點,請讓我知道
感謝
太棒了!希望我也是一個數學傢伙:S,但是,我的數據不會適合這種情況,恐怕它有50,10,5.5,1和0.5的值。在這個GCD中是0.5。我只是看着[this](http://stackoverflow.com/questions/8280514/returning-a-random-value-from-array-with-probability-proportional-to-its-value?rq=1)。我試圖理解答案,似乎很安靜,但現在無法吸收它。 – Junaid
如果你的值低於1,你需要把它們全部乘以2,所以有1(2 * 0,5)作爲GCD,可惜。但在問題的例子中,GCD是5,所以'jug'是5,'glass'是10,'plate'是4,'dish'是1. – Voitcus
我認爲@Floin的解決方案更好。 – Voitcus