关于美团抽奖的算法问题

ykren 2014-08-04 08:32:17
美团的0元抽奖大家都熟悉吧,最近要做个类似的抽奖,但是没太看懂美团的算法,有谁可以帮我解释解释吗?

美团的抽奖规则如下:

每日收盘时的上证指数 × 每日收盘时的深证成指 × 10000 = 12位数。(指数以证交所公布数字为准);将此12位数的数字倒序排列后(如首位是0,则直接抹去),再除以前一日23:59:59本次活动结束时的参与人数(每个抽奖号为一个人数),得到的余数加1即为获奖号码;若公布时您的“抽奖号”与获奖号码完全一致,就可以获得本次活动的大奖了。

例如
2012-06-11收盘时的上证指数是 2927.08,
2012-06-11收盘时的深证成指是 12926.61,
将这两个数字相乘后再乘以10000得到的12位数为378372215988,
将这12位数的数字倒序排列得到889512273873。
如果截止至2012-06-10 23:59:59活动结束时的抽奖人数为1907899,
以889512273873整除以1907899,商为466226,余数为154699,
用154699+1=154700,获奖即为154700,如果当天需要开多个奖,则用此号码分别+2011 +3011 +4011……得出当天其他获奖号码。

我的问题是:
1、为什么要搞2个指数,1个不行吗?
2、2个指数相乘为什么要取倒序,而不是直接取结果?
3、余数为什么不直接是获奖号码,为什么还要加1?
4、这个算法怎么能保证每个人的中奖概率是均等的?
...全文
618 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
淡淡的活着 2014-08-05
  • 打赏
  • 举报
回复
抽奖不就是随机一个发放出去的号么·只要号不重复 你发放出去的是1 2 3 4 5 这样的都行··
dongshanyu 2014-08-05
  • 打赏
  • 举报
回复
我想抽奖类的本质就是获得随机数,至于你想在外面封几圈就可看你兴致了
踏平扶桑 2014-08-05
  • 打赏
  • 举报
回复
这样制定规则会让大家觉得没有内幕,因为那几个来源大家都能看到,增加透明度和公信力。
正宗熊猫哥 2014-08-05
  • 打赏
  • 举报
回复
规则是人家定的,你开奖,你可以定规则
ayanamireizero 2014-08-04
  • 打赏
  • 举报
回复
问题1:你要喜欢,可以再乘以一个纳斯达克的指数.... 问题2:你要喜欢,可以最后结果为1,3,5,7,9,11,2,4,6,8,10,12这样排序都行 问题3:你要喜欢,也可以减1 问题4:不能保证...中奖不中奖是看RP.. 最后..算法是自己写出来的,你可以抄人家算法,也可以自己写个新算法.没有这么多为什么的.

62,241

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧