php 生成抽奖码算法,抽奖概率算法实现-用PHP来实现的
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
PHP实现代码如下
//假设本次抽奖活动中奖概率如下
//iphoneX 0.1%
//小米6 0.5%
//充电宝 1%
//10元红包 20%
//1元红包 50%
//谢谢参与(未中奖) 28.4%
//总的中奖率是100%
//PHP实现中奖率代码如下
//定义奖品
$presents = [
'iphoneX',
'小米6',
'充电宝',
'10元红包',
'1元红包',
'谢谢参与(未中奖)',
];
//定义中奖率,放大中奖率区间,保证中奖率均为整数,由0.1-50放大十倍,为1-500,总概率为1000
$percents = [
1,5,10,200,500,284
];
//开始抽奖
//生成一个1到1000的随机整数
$all_percent = array_sum($percents);
$random_num = rand(1,$all_percent);
//循环检查随机数落在哪个奖品区间
$current_percent = 0;
$result = '';
foreach ($percents as $k=>$percent){
$current_percent += $percent;
if($random_num <= $current_percent){
//如果随机数在当前概率区间,则说明中奖
$result = $percents[$k];
break;
}
}
if($result && $result!='谢谢参与(未中奖')
{
//中奖
echo '恭喜您中奖了,奖品是:'.$result;
}else{
echo 'sorry,您没有中奖';
}
php 生成抽奖码算法,抽奖概率算法实现-用PHP来实现的相关推荐
- 图像轮廓生成Freeman码
##图像轮廓生成Freeman码## 摘要 Freeman码是描述轮廓的另外一种形式,这篇博客我将会用matlab和OpenCV两个版本生成Freeman码.纵观网上很多介绍边缘轮廓的,都提到过Fre ...
- 常用Java工具类:java抽奖码生成
本案要求生成10W条由大写字母加数字组成的抽奖码. 由要求得字符集为:ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 为保证数据不重复,且不可破解的要求.阿咚使用5位的随机字 ...
- 【nodejs】用户随机不重复抽奖码生成
要求 抽奖活动,用户注册的有唯一的手机号,根据手机号生成一个唯一且对应的抽奖码 实现 随机码生成 先不管随机码是否重复,写一个根据电话来生成10位随机字符串的函数 ... let crypto = r ...
- 抽奖随机算法的技术探讨与C#实现
一.模拟客户需求 1.1 客户A需求:要求每次都按照下图的概率随机,数量不限,每个用户只能抽一次,抽奖结果的分布与抽奖概率近似. 1.2 客户B需求:固定奖项10个,抽奖次数不限,每个用户只能抽一次, ...
- 线下活动抽奖PHP源码,对接公众号,实现关注公众号发送关键字获取抽奖码,通过平台进行摇号抽奖,可以二次开发(所有公众号都可对接)
最近公司需要做一款通过公众号获取幸运码抽奖的程序 跟微信公众号对接肯定得去看公众号开发文档,我花了几分钟大致了阅览了一下,满足发送关键词然后获取抽奖码功能无需申请任何权限,所有公众号都拥有的这个权限, ...
- php 抽奖思路,PHP抽奖算法思路?
网上有个烂大街的算法,具体请看链接 大概原理是: 1,生成一个随机数: 2,循环对比第N个奖品的概率: 3,确定奖品: 如果按照这个算法,主观上是抽一次奖,但客观上,把每个奖品都循环抽了一遍,其实是抽 ...
- PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码
PHP抽奖小程序源码,微信红包封面抽奖小程序,全开源.带流量主(需要自行替换代码),独立后台,亲测完美可用. 下载 PHP抽奖小程序/微信红包封面抽奖小程序/抽奖小程序开源源码 亲测截图:
- 【独立版】翻牌领红包系统一物一码仿口味王验证码抽奖码得红包追溯码源码程序无加密
[独立版]翻牌领红包系统一物一码仿口味王验证码抽奖码得红包追溯码源码程序无加密 本小程序全新独立开发Thinkphp为核心 运行环境: PHP7.1+MySQL5.6+公众号+微信支付商户号 核心功能 ...
- 个人小程序诞生记【第二周】积分排名、生成海报、积分抽奖
最近一段时间应该会很少更新发布技术性博客,重心还是放在尽快开发完成自己的小程序,不知道大家是否有这样的感觉,当你想开发一个自己的项目时,设计起码占了80%以上的时间,其实开发的过程很简单,主要耗时的还 ...
最新文章
- 条件注解 @ConditionalOnBean 的正确使用姿势
- 动态规划法求最大字段和时间复杂度_九章算法 | 动态规划:最长上升子序列
- MySQL: linux mysql access denied for user ‘root’@’localhost'(using password:YES)
- 设置mysql最大连接数的方法
- 没有运行 spring_Spring事务的传播行为案例分析
- 1t硬盘怎么分区最好_win7系统硬盘怎么分区 win7系统硬盘分区步骤【介绍】
- java if用法_java中if语句的写法
- Qt在线/离线安装包下载网址和说明
- LeetCode(1002)——查找常用字符(JavaScript)
- mysql 定时备份 空_如何在不停止Mysql服务的状况下,定时备份mysql数据库
- PHP for windows iis6配置
- P4568 飞行路线
- 刷题方法(五步刷题法)
- 倍升工作效率的小策略
- 页面里的在线实时聊天实现
- 三极管三种放大组态的比较?为什么共基频带宽呢?(硬件每日一题)
- 【Ngnix】Ngnix应用
- ICN(Information centric networking)体系结构和技术实现
- 根据PPG估算血压利用频谱谱-时间深度神经网络【翻】
- acm-sdut-团战可以输、提莫必须死
热门文章
- php 手机端唤起qq,通过手机浏览器调用客户端QQ
- PCB设计入门(Mutisim开发环境搭建)
- class类中的__len__方法的作用
- RTX51Tiny 学习笔记(三)
- DVD-R-01.我自己搜索收集的一些Delphi免杀远控软件源代码(永久免云杀变种)2013-12-14 11:53:19...
- 关于多硬盘电脑系统盘中没有EFI分区的解决方法
- 一个很猛的mm被甩之后(zz)
- linux中的显卡驱动问题,linux下显卡驱动安装的问题
- 直观的获得MATLAB训练得到的深度学习网络参数与结构
- SpringBoot+Dubbo+Zookeeper分布式项目打包时子模块依赖找不到解决方案