根据中奖概率抽奖算法

根据中奖概率抽奖算法

            $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

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

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

(0)
上一篇 2021年6月16日 上午9:00
下一篇 2021年6月16日 上午10:00


相关推荐

  • Python学习系列:PyCharm CE 安装与测试

    Python学习系列:PyCharm CE 安装与测试开坑啦开坑啦~最近比赛要用Python了,开始强行学习。Mac下PyCharmCE安装先去百度PyCharm,一个很好用IDE,下载免费版的就够用啦:https://www.jetbrains.com/pycharm/然后下载安装,这里就一步步走就好。重点是你的Python,Mac自带的是Python2PyCharm在新建项目的时候会自动识别。测试我们新建一个项目:设置…

    2022年8月29日
    8
  • Unicode编码转换器

    Unicode编码转换器nbsp nbsp nbsp nbsp 今天在看一个项目的 properties 文件时 看到里面全部都是这种字符 gerenListXLS u666e u901a u7528 u6237 u8ba2 u5355 u5217 u8868 xls 其实 properties 文件中不能写中文字符 要不会出现乱码 必须将中文进行 Unicode 编码 nbsp nbsp nbsp nbsp 常

    2026年3月17日
    2
  • Gazebo使用笔记(5) —— 力/力矩传感器的使用[通俗易懂]

    Gazebo使用笔记(5) —— 力/力矩传感器的使用[通俗易懂]1.插件的添加在相应的<joint>标签内添加如下代码:<sensorname=”force_torque”type=”force_torque”><update_rate>30</update_rate></sensor>运行world:gazebo–verboseforce_torque_tutorial.world查看传感器输出:法1:命令查看gztopi

    2022年5月15日
    68
  • mysql全文检索 分词_sqlserver全文检索

    mysql全文检索 分词_sqlserver全文检索通常情况下,全文检索引擎我们一般会用ES组件(传送门:SpringBoot系列——ElasticSearch),但不是所有业务都有那么大的数据量、那么大的并发要求,MySQL5.7之后内置了ngram分词器,支持中文分词,使用全文索引,即可实现对中文语义分词检索MySQL全文检索官方文档介绍:https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html  查看MySQL版本创建game游戏表,并插入数据插入全文索引  可以在mysq

    2022年8月24日
    12
  • 数据中心部署模式二元化

    数据中心部署模式二元化

    2021年9月1日
    61
  • 决策树原理及使用_虹吸原理图解

    决策树原理及使用_虹吸原理图解1.树模型和线性模型的区别树形模型是一个一个特征进行处理线性模型是所有特征给予权重相加得到一个新的值2.什么是决策树所谓决策树,就是一个类似于流程图的树形结构,树内部的每一个节点代表的是对一个特征的测试,树的分支代表该特征的每一个测试结果,而树的每一个叶子节点代表一个类别。树的最高层是就是根节点。下图即为一个决策树的示意描述,内部节点用矩形表示,叶子节点用椭圆表示。3.学习过程**特征选择:**特征选择是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选

    2025年9月5日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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