很早以前看到了這個算法,忘記叫什么名字了,這里就索性叫抽獎算法吧,知道的朋友不要扔磚頭
一般抽獎的時候都分為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 |