有关抽奖的一个算法


很早以前看到了这个算法,忘记叫什么名字了,这里就索性叫抽奖算法吧,知道的朋友不要扔砖头

 

一般抽奖的时候都分为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