社区
基础编程
帖子详情
求 抽奖算法
wxywing
2008-09-19 06:29:54
6个箱子
鼠标点击相应箱子 即可获得随机奖励
规则如下:
5金币每日中奖人数为200人
10金币每日中奖人数为100人
30金币每日中奖人数为50人
50金币每日中奖人数为10人
100金币每日中奖人数为5人
大家给点意见 (有相应的代码最好了)~_~
...全文
214
6
打赏
收藏
求 抽奖算法
6个箱子 鼠标点击相应箱子 即可获得随机奖励 规则如下: 5金币每日中奖人数为200人 10金币每日中奖人数为100人 30金币每日中奖人数为50人 50金币每日中奖人数为10人 100金币每日中奖人数为5人 大家给点意见 (有相应的代码最好了)~_~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wxywing
2008-09-20
打赏
举报
回复
ax003d: 你好~
有两个疑问:
1,如果我的奖项等级设得很多的话,IF()那不是很多吗?
2,然后我设置的中奖概率大的话 那不每次都去数据库判断 中奖后还得更新数据,并发上来怎么办?
ax003d
2008-09-20
打赏
举报
回复
你可以把所有的奖项等级放在散列表中,以(奖项名称,最多中奖人数)为键值对;
取出随机数后,查询散列表
如果散列表有此奖项
{
最多中奖人数是否为0
{
若否 (执行以下代码时锁定)
{
则中该奖项;
该奖项最多中奖人数减一;
}
否则
{ 不中奖;}
}
}
使用散列表,改善代码,解决疑问1。
此散列表放在内存中,每天0点0分初始化。如果需要记录中奖信息,则启用多线程记录到数据库。解决疑问2。
SysTem128
2008-09-19
打赏
举报
回复
先声明出中奖列表。
然后填充呗。
比如
先检查今日中奖列表内人员是否已满。
如果没满,则随机一个0-100间的数字 如果这个数字小于5那么这个人就中奖了。
然后在中奖列表中找出所有没有被占的中奖位置,按照位置编号随机填充。
ax003d
2008-09-19
打赏
举报
回复
点哪个箱子都一样
从1~10000(如果想中奖概率小点,可以取更大的数)中取一个随机整数
如果得数为5
{
判断中五金币人数是否超过200,
{
若否
{
则中五金币;
}
否则
{不中奖;}
}
}
如果得数为10
{
依次类推;
}
……
wxywing
2008-09-19
打赏
举报
回复
SysTem128:你好~
$price = new Prise();
$rank = array('Rank 1'=>1,'Rank 2'=>3,'Rank 3'=>5,'Rank 4'=>10,'Rank 5'=>15);
$price->getRank(1,500,$rank);
print_r($price->rankList);
那我点击箱子如何获取相应的值?
SysTem128
2008-09-19
打赏
举报
回复
http://blog.csdn.net/SysTem128/archive/2007/12/18/1947700.aspx
中奖等级列表
JAVA
抽奖
算法
,JAVA
抽奖
算法
·
根据
抽奖
个数和
抽奖
概率获得一个结果,支持不同个数的奖品。
抽奖
算法
最新
抽奖
算法
,很好
幸运大转盘
抽奖
抽奖
算法
该文档主要是针对于幸运大转盘
抽奖
类型的
抽奖
算法
,可以自行设置中奖概率,进行
抽奖
运算
通用
抽奖
算法
存储过程(适用九宫格、大转盘
算法
)
此资源包括
抽奖
相关所有的配置,中奖概率配置、奖品表、
抽奖
记录表和通用存储过程
算法
。 可以指定抽多少次以后在按照正常概率来计算,中奖个数,如果奖品全部被抽完就永远抽不中,中奖率和中奖最大范围有关,数字越大概率越低,反正越高。由于涉及到一些敏感表数据,只提供主要的中奖表,如用户流水账号信息这些表不提供。 规则: --中奖率公式:中奖率 = 奖项数字范围 ÷ 摇奖数字范围 ÷ 中奖数字范围 --1、摇奖数字范围最小值和最大值定义了产生奖项数字的范围。 --2、中奖数字范围是从1到中奖范围的最大值,此范围内产生中奖号码。 /* 比如说,现在有三个选择一等、二等、三等。 可以设置“摇奖数字选项”为 1-30 一等 奖项数字范围1-10 二等 奖项数字范围 11-20 三等 奖项数字范围 21-30 所设置的奖项数字范围必须在 “摇奖数字选项”范围内,而且不得交叉、重叠。 如果我其中一个设置1-12 另外一个设置10-20 那么就重叠了。 而且为了方便调整中奖率,建议把所有的 奖项数字范围全部设置等距离。如现在有十二个选项,那么依次可以设置成为以下: 1-10、11-20、21-30、...、111-120 那么自然 “摇奖数字范围”就是1-120 现在需要调整中奖率的大小,中奖号码不用改了,全部设置成为1. 然后去调整中奖数字范围。 比如说 一等 中奖数字范围 1-30 二等 中奖数字范围 1-20 三等 中奖数字范围 1-10 那么具体这样设置下来,中奖率会有多高呢?算一下便知道。 一等:10/(30*30)=1/90 九十分之一。 二等:10/(30*20)=1/60 六十分之一。 三等:10/(30*10)=1/30 三十分之一。 所以设置的时候就把中奖号码都设置成1,只需要调整中奖数字范围便可。 */
java程序
抽奖
实现及
算法
文档内包含java程序用到的
抽奖
算法
,可以设置奖品的中奖概率,然后进行逻辑
抽奖
基础编程
21,887
社区成员
140,363
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章