关于抽奖的概率算法~你能算出来吗?

csjxing 2011-08-20 03:52:47
现在要做一套抽奖系统,奖品配置如下:

奖品 | 数量 | 概率
奖品1 | 1 | 0.01%
奖品2 | 10 | 0.6%
奖品3 | 50 | 5%
奖品4 | 400 | 10%

每个奖品的中奖概率是按最右列的概率计算,奖品设定数量上限,如果奖品抽完,再抽中该奖品,视为不中奖。

请问 如何计算总的中奖概率,开始觉得是把最右边的概率相加就是(0.01+0.6+5+10=15.61%),但后来又把自己给否定了,应该不是这么个算法,求解。。。。。。
...全文
1876 1 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
izj 2011-08-26
[Quote=引用 7 楼 jokul_lee 的回复:]

就算你给出了中奖率和奖品总数,也没办法确定总抽奖次数,
又因为你没说明总抽奖次数,所以没办法判断总中奖率。
我说一下我的理解。
一等奖:1/0.1% = 10000;按一等奖的奖品数和中奖率,算出有一万个总抽奖次数。
二等奖:10/0.6% = 1667;按二等奖的奖品数和中奖率,算出有1667个总抽奖次数。
三等奖:50/5% = 1000;按三等奖的奖品数和中奖率,算出有1000个……
[/Quote]

JS+1
回复
oklinsong 2011-08-26
[Quote=引用 7 楼 jokul_lee 的回复:]

就算你给出了中奖率和奖品总数,也没办法确定总抽奖次数,
又因为你没说明总抽奖次数,所以没办法判断总中奖率。
我说一下我的理解。
一等奖:1/0.1% = 10000;按一等奖的奖品数和中奖率,算出有一万个总抽奖次数。
二等奖:10/0.6% = 1667;按二等奖的奖品数和中奖率,算出有1667个总抽奖次数。
三等奖:50/5% = 1000;按三等奖的奖品数和中奖率,算出有1000个……
[/Quote]
回复
Jokul_Lee 2011-08-24
哦 哦,,关键在这句话“如果奖品抽完,再抽中该奖品,视为不中奖。”
奸商啊。。
这就是不定数,假设你只有一个一等奖奖品,但是写了十个一等奖的单子,总抽奖次数是十万。
那么9个人的一等奖都是无效的。
那么实际上,一等奖的实际中奖率要比标注中奖率低10倍。
又,所以说,这概率完全是可控的了。
回复
Jokul_Lee 2011-08-24
就算你给出了中奖率和奖品总数,也没办法确定总抽奖次数,
又因为你没说明总抽奖次数,所以没办法判断总中奖率。
我说一下我的理解。
一等奖:1/0.1% = 10000;按一等奖的奖品数和中奖率,算出有一万个总抽奖次数。
二等奖:10/0.6% = 1667;按二等奖的奖品数和中奖率,算出有1667个总抽奖次数。
三等奖:50/5% = 1000;按三等奖的奖品数和中奖率,算出有1000个总抽奖次数。
四等奖:400/10% = 4000;按四等奖的奖品数和中奖率,算出有4000个总抽奖次数。
结论是四种奖项不可能在同一种抽奖模式中存在。
因为当你总奖品数是10000,时,只有一等奖的中奖概率是真实的,其他三种奖项的中奖概率的是虚假的。
以此类推,虽然我没仔细算,但是其他三种奖项应该都存在类似的问题。

你是一个奸商。
回复
fyswords 2011-08-24
要是实际概率的话需要抽过奖的情况
如果算期望的话似乎比较麻烦
P1=15.61%
P2= 0.01%*15.6% + 0.6%*15.01% + 5%*10.61% + 10%*5.61% + 84.39%*15.61%
………………
看有没有归纳法吧
回复
Smile_Tiger 2011-08-23
我觉得题目还有些不清晰的地方

比如你是如何利用随机数产生这些奖项的,这个也是关系到概率的计算方法的。

回复
fantasyczl 2011-08-20
等高人
回复
icansaymyabc 2011-08-20
如果不提供参加抽奖的总人数,你要的这个概率算不出来。

提供了参加抽奖的总人数,把实际颁发数量除1下总人数就出来了。

例如:100个人参加抽奖,总中奖概率就是 15%

1000个人参加抽奖,总中奖概率就是 15.6%

10000个人参加抽奖,总中奖概率就是 4.61%

100000个人参加抽奖,总中奖概率就是 0.461%

1000000个人参加抽奖,总中奖概率就是 0.0461%

10000000个人参加抽奖,总中奖概率就是 0.00461%
回复
icansaymyabc 2011-08-20
灰常简单的哪。你起码还要提供一个数据,就是参加抽奖的总人数吧?你就能根据中奖概率算出每种奖品的数量,再依据各种奖品的最大数量调整一下。


比如说,有100个人参加抽奖,就算出


奖品 | 实际颁发数量 | 概率
奖品1 | 0 | 0.01%
奖品2 | 0 | 0.6%
奖品3 | 5 | 5%
奖品4 | 10 | 10%

有1000个人参加抽奖,就算出

奖品 | 实际颁发数量 | 概率
奖品1 | 0 | 0.01%
奖品2 | 6 | 0.6%
奖品3 | 50 | 5%
奖品4 | 400 | 10%

有10000个人参加抽奖,就算出

奖品 | 实际颁发数量 | 概率
奖品1 | 1 | 0.01%
奖品2 | 10 | 0.6%
奖品3 | 50 | 5%
奖品4 | 400 | 10%


然后,用随机数把各项奖品派送到参加抽奖的人头上不就得了?
回复
csjxing 2011-08-20
自己顶下呵呵~
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告