智能车制作

标题: 抽奖算法公开 [打印本页]

作者: turf456    时间: 2018-1-10 15:35
标题: 抽奖算法公开
为了保证抽奖环节的公平公正,设计利用统计截至时间次日的福彩双色球号码计算中奖楼层,并在此公开抽奖算法以及抽奖程序源代码。



算法流程:

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即可查看源文件):
[attach]91875[/attach]


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


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



作者: xhx331153066    时间: 2018-1-10 17:07
瞻仰大神,大神好久不出现了啊
作者: 神车名为GTR    时间: 2018-1-10 23:35
前排前排,围观凤姐
作者: じ~凝眸处    时间: 2018-1-11 08:07
这么会玩吗?
作者: lxj1997    时间: 2018-1-11 09:41
骚操作
作者: quzhanguang    时间: 2018-1-12 00:04
玩VB的人已经中年了
作者: 乐师--澄泓    时间: 2018-1-12 07:59
猪骨
作者: 乐师--澄泓    时间: 2018-1-12 07:59
猪骨
作者: aytc100    时间: 2018-1-12 17:14
quzhanguang 发表于 2018-1-12 00:04
玩VB的人已经中年了





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





作者: Y_Y_G    时间: 2018-1-30 16:06
  这么吊的
     ?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2