抽奖概率算法

问题描述

要求可以在后台控制中奖物品的概率,并且允许多个物品中奖的概率是一样的

解决方案

解决方案二:
很简单嘛,先确定抽奖总数,比如200次,挑选1个一等奖数字,2个二等奖数字,后面以此类推,如果是顺序抽取那么打乱一下次序,随机抽取打乱都不用了
解决方案三:
先根据中奖几率计算一个最小公倍数,例如1等奖1/300、二等奖1/80、三等奖1/20,那么最小公倍数就是2400。你可以使用一个在1-2400之间的随机数来确定中的是什么奖,如果抽到的数字在1-8之间就是一等奖,11-40之间是二等奖,101-220之间是三等奖,其他的什么都没有。

时间: 2024-09-21 04:54:40

抽奖概率算法的相关文章

Java抽奖概率算法

序号 奖品名称 奖品编号 抽到的概率 1 再来一次 P1 0.2 2 本站VIP一年 P2 0.1 3 谢谢参与 P3 0.4 4 50金币 P4 0.3 5 Iphone 6 P5 0.0 6 Ipad Air2 P6 -0.1 7 100元手机话费 P7 0.008 数据很简单,那么就直接看代码了 /**  * 奖品类  * @author:rex  * @date:2014年10月20日  * @version:1.0  */ public class Gift { private int

php中如何计算抽奖的概率

<?php //计算抽奖的概率 function get_rand($proArr) { $result = ''; $proSum = array_sum($proArr); foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } uns

Java抽奖算法第二例_java

本文实例为大家分享了java抽奖算法,供大家参考,具体内容如下 1. 算法分析 根据概率将奖品划分区间,每个区间代表一个奖品,然后抽取随机数,反查落在那个区间上,即为所抽取的奖品.  2. 代码核心算法  public class Arithmetic { // 放大倍数 private static final int mulriple = 1000000; public int pay(List<Prize> prizes) { int lastScope = 0; // 洗牌,打乱奖品次

PHP抽奖算法程序代码分享_php实例

抽奖算法需要满足的需求如下: 1.可以控制中奖的概率 2.具有随机性 3.最好可以控制奖品的数量 4.根据用户ID或者ip.手机号.QQ号等条件限制抽奖次数 初期就这些需求,然后根据网上的资料,采用了一种阶段式抽取的方法,大家下面看一下整体的程序: 该程序是在ThinkPHP框架下完成的,使用了一些框架自带的类库和函数,下面我会逐一进行说明,控制器部分:代码如下 <?php /** * * * @lanfengye <zibin_5257@163.com> */ class Chouji

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 <?php /* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(100,200,300,400), * 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内, * 如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间, * 在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选的. * 这样 筛选到最终,总

php编写的抽奖程序中奖概率算法

  本文给大家分享的是php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂,有需要的小伙伴参考下吧. 们先完成后台PHP的流程,PHP的主要工作是负责配置奖项及对应的中奖概率,当前端页面点击翻动某个方块时会想后台PHP发送ajax请求,那么后台PHP根据配置的概率,通过概率算法给出中奖结果,同时将未中奖的奖项信息一并以JSON数据格式发送给前端页面. 先来看概率计算函数 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1

适用于抽奖程序、随机广告的PHP概率算法实例

 做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度.同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad.iphone5,小的中个Q币什么的 那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖品.先来看两个概率算法函数.   算法一   代码如下: /**  * 全概率计算  *  * @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4)  * @retu

php中奖概率算法与大转盘等抽奖算法

  php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; } /* * 奖项数组 * 是一个二维数组,记录了所有本次抽奖的奖项信息, * 其

适用于抽奖程序、随机广告的PHP概率算法实例_php实例

那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖品.先来看两个概率算法函数. 算法一 复制代码 代码如下: /** * 全概率计算 * * @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4) * @return string 返回上面数组的key */function random($ps){    static $arr = array();    $key = md5(serialize($ps));     if (!i