经典指数          
原因
750
浏览数
0
收藏数
 

牛客网在一周年纪念系列活动中,其中有一个抽奖的环节,在1亿会员中随机抽出100万幸运会员,并发送相应礼品。 请帮助牛客网设计一个抽奖算法。 要求: 1)不能重复中奖 2)个位数为6的用户中奖概率是其他用户的2倍 3)rand()生成的最大值不超过2的10次方-1

     举报   纠错  
 
切换
1 个答案
有个简单的思路。 概率抽取比较方便的是《蓄水池抽样方法》 那么该题其实可以分为两部分: 从尾数为6的数后面抽取的概率比从其他中抽取的概率大6倍。 那么可以列公式得到  10(百万人) * 6 * p   + 90(百万人) * p = 1(百万人) 那么可得结果是 从尾数为6的1000万人中抽取 40万,从其他9000万人中抽取60万 所以: (m-k)/ (n-i-1) k表示已经抽取的数量。m表示需要抽取的总数。n表示总人数,i表示第几个人。 本题完毕。  
 
切换
撰写答案
扫描后移动端查看本题