php实现中奖概率

同事说的一道面试题

function r($data){
	$n = rand(0,100);
	$temp = 0;
	foreach ($data as $k => $v) {
		$temp+=$v;
		if($n<=$temp)
		{
			return $k;
		}
	}
	return false;
}
$r = r(["t"=>0.1,"1"=>0.5,"2"=>1.5,"3"=>10,"4"=>20]);
 echo $r==false?"未中奖":$r."等奖";

  

原文地址:https://www.cnblogs.com/samxiong/p/10923556.html

时间: 2024-07-31 01:45:07

php实现中奖概率的相关文章

使用接口测试活动的中奖概率(随机事件测试)

抽奖活动的中奖事件是个随机事件,用大量的手动测试来检验中奖概率的正确性显然不可取,除了手工对中奖流程,后续处理的校验外,可以和开发配合,使用接口来测试中奖的概率是否符合预期的设计要求. 1.思路: (1)开发提供中奖的接口,get该接口(此处需要向开发详细了解),每次随机返回以下四个结果: 0--表示未抽中 1--表示抽中1等奖 2--表示抽中2等奖 3--表示抽中3等奖 (2)使用for循环,多次请求该接口,并使用testNG框架中自带的设置多次执行方法和处理多线程的方法,使多个方法并发运行,

Jmeter测试中奖概率

最近做个项目需要测试中奖概率,又刚换的mac本win上的工具全不能用了,所以想到用jmeter实现. 实现步骤: 1.使用HTTP请求访问接口 2.添加查看结果器查看测试结果 3.添加聚合报告查看次数统计 2.使用JSON提取器提取json返回信息 3.添加调试取样器查看返回某个值的次数 原文地址:https://www.cnblogs.com/rslai/p/12544072.html

【微信开发】PHP中奖概率经典算法实例

$arr=array("50","30","20"); //这里简单列出三个数 $pro = array_sum($arr); // 概率数组的总精度 foreach ($arr as $key=>$value){ $randnum = mt_rand(1,$pro); if($randnum<=$value){ $res = $value; //这里是中奖的时候,一般$res会赋值和其概率相对应的奖品 break; }else {

计算双色球的中奖概率

1 /** 2 * ClassName: LotteryQuestion 3 * @Description: TODO 4 * @category 听到有人忽悠说双色球二等奖比三等奖好中,还说打电话去福彩中心,人说"Yes!" 5 * 很愤慨 这国家到处都是忽悠只缘于你们高中数学真的不及格 6 * 7 * 例如 我们国家福彩中心规则玩法 : 33个红球里选6,16个蓝球里选1 8 * 忽悠: " 2等奖几率大于3等奖 " 9 * 10 * 事实上这里有一个陷阱 11

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

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

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

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <!--?

相同概率的抽奖程序另类实现——使用数据库,无需数学原理

抽奖,是很多企业.聚会的常见玩乐形式,光彩绚丽的抽奖屏幕背后,是计算程序+抽奖用户信息.程序=算法+数据结构. 好,说抽奖程序的的实现吧.这个实现一般需要应用数学原理.而本文的方法是我在参加一次婚礼的抽奖体验后突然想到的,一种比较简单.无需数学原理的方法. 功能:能按照相同概率,从用户集合中抽出随机的部分用户集合作为中奖者.抽奖可以进行多次,对已中奖的用户不会重复抽取. 使用技术: 1.SqlServer数据库,使用NewID()作为select随机筛选函数 2.sql随机函数 3.为了快速方便

砸金蛋:jQuery+PHP实现的砸金蛋中奖程序

原文 砸金蛋:jQuery+PHP实现的砸金蛋中奖程序 砸金蛋被广泛应用于庆典活动.商家促销.电视娱乐等场合,它的趣味.悬念能迅速活跃现场气氛.同样,我们也可以将砸金蛋应用到WEB网站上,用于开展线上活动.本文将使用jQuery与PHP讲解如何实现一个WEB砸金蛋程序. 查看演示 下载源码 准备 我们需要准备道具(素材),即相关图片,包括金蛋图片.蛋砸碎后的图片.砸碎后的碎花图片.以及锤子图片. HTML 我们页面上要展现的是一个砸金蛋的台子,台上放了编号为1,2,3的三个金蛋,以及一把锤子.我

概率问题的求解

求解概率问题时,需注意两个问题:1)不要遗漏计数 2)不要重复计数 看个例子:假设有种彩票是40选8,猜中6个或以上为中奖,求中奖概率. 最直接的办法是中6概率+中7概率+中8概率. 中6:实际上是中6不中2,8中选6,剩余32中选2,P=C(8,6)C(32,2)/C(40,8) 中7:实际上是中7不中1,8中选7,剩余32中选1,P=C(8,7)C(32,1)/C(40,8) 中8:就是中8,P=1/C(40,8) 三者相加即结果. 中6不能单考虑中6,还要考虑剩下的两个数字,即不遗漏计数.