智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2787|回复: 9
打印 上一主题 下一主题

[其他] 抽奖算法公开

[复制链接]

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27948

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10632
贡献
10964
兑换币
4564
注册时间
2010-11-23
在线时间
3176 小时
跳转到指定楼层
1#
发表于 2018-1-10 15:35:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了保证抽奖环节的公平公正,设计利用统计截至时间次日的福彩双色球号码计算中奖楼层,并在此公开抽奖算法以及抽奖程序源代码。



算法流程:

1,  初始化伪随机数发生器;
2,  以六个红球数字相乘的结果作为伪随机数发生器的种子;
3,  调用伪随机数发生器,得到[0,1)范围内的浮点随机数,再乘以统计楼层数,取整,再加一,得到获奖楼层数。

只要输入的原始数据相同,该算法在不同时间,不同地点的计算结果完全相同。任何人均可验证抽奖结果。
不理解的童鞋可以自行学习一下伪随机数发生器的原理。

核心算法(使用VB编程):
  1. Rnd (-1) '初始化随机数生成器
  2. Randomize (CLng(num1) * num2 * num3 * num4 * num5 * num6 ) '6个红球数相乘作为随机数种子
  3. winner = Int(Rnd() * total) + 1 '调用随机数函数的结果[0,1)乘以total楼层数,取整,结果范围为[0,total),加1。
复制代码

VBS版本的抽奖小程序(无需编译可直接运行,改成.TXT即可查看源文件):



EXE版本的抽奖软件以及源文件(窗口操作,简单直观):



抽奖算法效果验证:
假设参与抽奖一共有100楼。遍历双色球红球所有可能的1107568种情况。统计每层楼的中奖次数为纵坐标,以楼层数为横坐标,得到曲线如下。理论平均值约为11075次,实际范围在8790至12963之间波动。误差小于20%。基本满足公平要求。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

55

主题

2147

帖子

0

精华

杰出人士

大黑山上老司机 DLNU_SOUL

Rank: 12Rank: 12Rank: 12

积分
17069

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章资源大师奖章论坛骨干奖章

威望
7941
贡献
5370
兑换币
5228
注册时间
2013-10-4
在线时间
1879 小时
2#
发表于 2018-1-10 17:07:35 | 只看该作者
瞻仰大神,大神好久不出现了啊
回复 支持 反对

使用道具 举报

21

主题

589

帖子

0

精华

版主

论坛终极大(cai)佬(ji)

Rank: 9Rank: 9Rank: 9

积分
5196

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2304
贡献
1416
兑换币
1584
注册时间
2018-1-10
在线时间
738 小时
3#
发表于 2018-1-10 23:35:37 | 只看该作者
前排前排,围观凤姐
回复 支持 反对

使用道具 举报

56

主题

1684

帖子

2

精华

版主

有所思,有所为。

Rank: 9Rank: 9Rank: 9

积分
9497

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章资源大师奖章论坛骨干奖章

威望
6762
贡献
83
兑换币
3601
注册时间
2014-10-31
在线时间
1326 小时
4#
发表于 2018-1-11 08:07:44 | 只看该作者
这么会玩吗?
回复 支持 反对

使用道具 举报

6

主题

188

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1932
威望
969
贡献
595
兑换币
552
注册时间
2016-7-18
在线时间
184 小时
毕业学校
西华大学
5#
发表于 2018-1-11 09:41:45 | 只看该作者
骚操作
回复 支持 反对

使用道具 举报

66

主题

2229

帖子

4

精华

超级版主

Rank: 10Rank: 10Rank: 10

积分
17281

论坛元老奖章

威望
8767
贡献
3040
兑换币
4153
注册时间
2011-8-7
在线时间
2737 小时
6#
发表于 2018-1-12 00:04:09 | 只看该作者
玩VB的人已经中年了
回复 支持 反对

使用道具 举报

18

主题

407

帖子

0

精华

超级版主

Rank: 10Rank: 10Rank: 10

积分
10550

特殊贡献奖章论坛骨干奖章热心会员奖章优秀会员奖章活跃会员奖章在线王奖章优秀版主奖章资源大师奖章

威望
5101
贡献
3641
兑换币
3320
注册时间
2014-6-8
在线时间
904 小时
7#
发表于 2018-1-12 07:59:44 | 只看该作者
猪骨
回复 支持 反对

使用道具 举报

18

主题

407

帖子

0

精华

超级版主

Rank: 10Rank: 10Rank: 10

积分
10550

特殊贡献奖章论坛骨干奖章热心会员奖章优秀会员奖章活跃会员奖章在线王奖章优秀版主奖章资源大师奖章

威望
5101
贡献
3641
兑换币
3320
注册时间
2014-6-8
在线时间
904 小时
8#
发表于 2018-1-12 07:59:50 | 只看该作者
猪骨
回复 支持 反对

使用道具 举报

56

主题

4914

帖子

3

精华

顶级版主

北京科技大学智能汽车队公共主页管理员

Rank: 11Rank: 11Rank: 11Rank: 11

积分
56131

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
19568
贡献
13933
兑换币
3365
注册时间
2010-7-22
在线时间
11315 小时
9#
发表于 2018-1-12 17:14:37 | 只看该作者
quzhanguang 发表于 2018-1-12 00:04
玩VB的人已经中年了





玩VBS的孩子已经会擦桌子了




回复 支持 反对

使用道具 举报

2

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
601
威望
267
贡献
186
兑换币
177
注册时间
2018-1-14
在线时间
74 小时
10#
发表于 2018-1-30 16:06:21 | 只看该作者
  这么吊的
     ?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-5 00:10 , Processed in 0.070172 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表