根据中奖概率抽奖算法

根据中奖概率抽奖算法

            $prizes = PrizesService::model()->getArrayAll();//获得所有奖品
            for ($i=0; $i < sizeof($prizes); $i++) { 
                if ($prizes[$i][‘type’] == 0) {

                    $percentsum += $prizes[$i][‘percent’];//计算所有奖品抽中概数的总和(1+50+40=100)
                }
            }
            for ($i=0; $i < $percentsum; $i++) { 
                $random = rand(0,$percentsum);//0–概数总和之间抽取一个随机数
                foreach ($prizes as $key => $value) {//遍历所有奖品
                        if ($random < $value[‘percent’]) {//如果随机数<该奖品的中奖概率数(49<50),则该奖品为抽中的奖品
                            echo $value[‘id’];
                        }else{//如果不符合上述条件
                            $delpercent = $value[‘percent’];
                        }
                }
                $percentsum -= $delpercent;//抽取的随机数减去上述不符合条件的商品的中奖概率数
            }

 

 

emmmm…写完突然发现还有点小问题?emmmmm但是运行起来好像确实概率大的抽中几率大一些……….emm…等想到更好的方法再改吧

转载于:https://my.oschina.net/u/3956078/blog/2873487

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101330.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 数据帧的学习整理

    数据帧的学习整理事先声明,本文档所有内容均在本人的学习和理解上整理,不具有权威性,甚至不具有准确性,本人也会在以后的学习中对不合理之处进行修改。在了解数据帧之前,我们得先知道OSI参考模型咱们从下往上数,数据帧在

  • 临时手机号接收验证码在线短信接收_临时手机号短信验证码平台

    临时手机号接收验证码在线短信接收_临时手机号短信验证码平台  处在这个前所未有的信息化时代,网络带给我们极大便利的同时,也让我们的个人信息安全也遭受了严重的威胁。很多人对个人信息的保护意识淡薄,不知道当今个人信息泄露的广泛性,没有认识到个人信息泄露的途径以及严重危害。比如我们注册任何一个网站的时候,往往需要提供手机号码,输入接收到的短信验证码,或者邮箱地址也一样。一旦这些信息泄漏,就会经常性地收到一些垃圾信息、广告信息。  但是你为了查看或下载这个网站里面的资源,又不得不注册。怎么办呢?如果有一些匿名、临时、一次性的邮箱地址,以及可以免费收发短信验证码的…

    2022年10月13日
  • CCF-CSP认证历年真题解

    CCF-CSP认证历年真题解CSP认证考什么怎么考?CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/C++语言编写,将逐步增加Python和Java的解题程序。程序中附有注释,力求解题思路清晰简洁,值得珍藏与模仿。逐题改写过程中,富文本编辑器写的博客将全部用Markdown编辑器改写。改写的第一题,都增加了Python和Java的解题程序。2021.04第22次:CCF202104-1灰度直方图(100分)【计数】CCF202104-2邻域均值(100分.

  • FRP内网穿透教程「建议收藏」

    FRP内网穿透教程「建议收藏」FRP内网穿透介绍frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。为什么使用frp通过在具有公网IP的节点上部署frp服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:客户端服务端通信支持TCP、KCP以及Websocket等多种协议。采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间。代理组间的负

  • Effective JavaScript Item 51 在类数组对象上重用数组方法「建议收藏」

    Effective JavaScript Item 51 在类数组对象上重用数组方法

  • 微型计算机的主要因素,微型计算机的性能主要取决于( )。

    微型计算机的主要因素,微型计算机的性能主要取决于( )。【单选题】运用移动平均线研判股价趋势时,股价在一段时间下跌后,若短期均线开始上翘,继而穿越长期均线,形成:【单选题】在完成高度保密和紧急任务时往往不适用的领导方式是()【判断题】汽油和柴油发动机的负荷特性区别在于调节方式不同,汽油机属于质调节,柴油机属于量调节【判断题】为了让烙铁头充分接触焊点,焊接时可适当施加压力。【单选题】按构成空间视线限制的方向性可将植物构成空间分为水平空间和()…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号