有關抽獎的一個算法


很早以前看到了這個算法,忘記叫什么名字了,這里就索性叫抽獎算法吧,知道的朋友不要扔磚頭

 

一般抽獎的時候都分為12345等獎,1等獎出現的概率最小,5等獎出現概率最大。

分為以下幾步:

1、用一個變量標識下各個獎的登記,這個好像是叫做“權重”吧,一等獎記為1,二等獎。。。。五等獎記為5。

2、求得權重總和,記為n;

3、每個獎項都產生一個隨機數,隨機數介於權重和權重和n之間,記為m;

4、求的各個權重+m的和,然后從大到小排序。最大的記為本次抽獎結果。

下面給個表看下

獎項 一等獎 二等獎 三等獎 四等獎 五等獎
權重 1 2 3 4 5
權重和n 15 15 15 15 15
隨機數m m=r(1,15) m=r(2,15) m=r(3,15) m=r(4,15) m=r(5,15)
總和 1+m 2+m 3+m 4+m 5+m
           

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM