前言

  最近依据项目需求,需要做一个抽奖的界面.既然涉及到了抽奖,那么,就应该对于抽奖有一些简单的逻辑判断:首先需要从所有的奖品中选取出正在使用的奖品,然后根据每个奖品不同的中奖权重进行抽奖,这里只做一个简单的处理方式.

逻辑

  首先我们假设只有两个奖品,中奖的概率分别是10和20,那么这时,我会用一个新的数组将这些中奖的概率’存放’起来,—>[1,10,30], 明显[1,10],区间长度是10,(10,30]区间长度是20,然后只需要产生一个在[1,30]中的随机数,判断这个随机数在哪个区间当中就可以:比如此时产生的随机数是9,那么9在[1,10]之间,那么就中第一个奖品,如果产生的随机数是15,15在(10,30]中,那么中第二个奖品.
  当然这是在只有两种奖品的情况下,下面进行推广,假如有十个奖品,该怎么做?   首先:将这些奖品的比率进行排序,降序或者升序都可以,然后再沿用上面的方法就可以.

后记

  纵观整个过程,其实都很简单,第一步:将所有的奖品概率都查询出来,按照降序的顺序进行排序,这一步在数据库查询的时候就可以做到.第二步:将这些概率进行处理,生成一个全新的数组~第三步:生成随机数,第四步:判断随机数在数组的第几个部分,就是第几个奖品.整个过程来说并没有什么复杂的地方.实践一下也是可以的~
更多精彩内容,请点这里,另外欢迎大家给小编留言

非等概率抽奖抽奖逻辑相关推荐

  1. Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动)

    ---------------------  作者:dannyhoo6688  来源:CSDN  原文:https://blog.csdn.net/huyuyang6688/article/detai ...

  2. 【项目实战】——Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动)...

    Java根据奖品权重计算中奖概率实现抽奖http://www.bieryun.com/1035.html 双蛋节(圣诞+元旦)刚刚过去,前几天项目上线的砸金蛋活动也圆满结束. 现在在许多网站上都会有抽 ...

  3. 【项目实战】——Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动)

    双蛋节(圣诞+元旦)刚刚过去,前几天项目上线的砸金蛋活动也圆满结束.   现在在许多网站上都会有抽奖的活动,抽奖的算法也是多种多样,这里介绍一下如何根据每种奖品的权重来抽奖,适用于多种抽奖形式. 奖品 ...

  4. 一个可以设置中奖概率的抽奖程序[转]

    一个可以设置中奖概率的抽奖程序[转] using System; using System.Collections.Generic; using System.Linq;namespace Conso ...

  5. php抽奖设置数量,php实现自定义中奖项数和概率的抽奖函数示例

    本文实例讲述了php实现自定义中奖项数和概率的抽奖函数.分享给大家供大家参考,具体如下: /* * 一个抽奖类,精确到万分之一 * 三个步骤:1.接受一个中奖概率数组;2.接受一个抽奖种子;3.返回中 ...

  6. JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法

    本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法. 一.示例场景 纯爱小说 www.shupu.org 1.1.设置抽奖活动的奖项名称 奖项名称:["一等奖", & ...

  7. java中奖率算法_JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法

    本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法. 一.示例场景 1.1.设置抽奖活动的奖项名称 奖项名称:["一等奖", "二等奖", &qu ...

  8. php中奖概率算法程序,PHP中奖概率的抽奖算法程序代码

    PHP中奖概率的抽奖算法程序代码 //id为奖次,prize为中奖信息,v为中奖概率$prize_arr = array( '0' => array('id' => 1, 'prize' ...

  9. php写彩票中奖代码,php实现自定义中奖项数和概率的抽奖函数示例

    本文实例讲述了php实现自定义中奖项数和概率的抽奖函数.分享给大家供大家参考,具体如下: /* * 一个抽奖类,精确到万分之一 * 三个步骤:1.接受一个中奖概率数组;2.接受一个抽奖种子;3.返回中 ...

  10. Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘

    Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘 原型演示及下载地址:https://www.p ...

最新文章

  1. Windows系统漏洞学习总结
  2. Spring基础知识和配置
  3. Keil C51软件的使用教程
  4. react.lazy 路由懒加载_Vue面试题: 如何实现路由懒加载?
  5. java动态修改class_Java Agent入门学习之动态修改代码
  6. 使用远程服务器Spyder
  7. 输入的字与系统编码不符_伺服系统故障排除法
  8. 小米6自动重启android,小米6总是自动重启怎么办?小米6自动重启的解决方法
  9. Cortex-M0芯片GPIO详解
  10. mov格式怎么在线转换成mp4格式
  11. 计算机技术在生物学中的应用鲁东大学,生物科学与技术学院
  12. 教你如何拍好人像摄影
  13. 2021.05.09 美团测开笔试-弹吉他
  14. linux从新建命令窗口快捷键,tmux 常用命令及快捷键
  15. linux第一周总结
  16. 中华瑰宝之山西人的面食
  17. 镂空三角形(for循环找规律)
  18. 软工实践 - 第二十二次作业 项目测评(团队)
  19. 打包 压缩 解压缩命令
  20. BZOJ1064:假面舞会(DFS 思维)

热门文章

  1. “你工资要得太低了,我给你加点!”
  2. 别被吃药顺序图误导了,正确用药才是关键!官方发布→
  3. 镇魔曲手游服务器维护,镇魔曲2月9日维护公告 元宵节活动预告
  4. HTTP 400 Bad request 原因
  5. 酷睿i3-10100与R3-3100哪个好 i310100和r33100对比
  6. Android判断后台服务(Service)是否运行
  7. Install Notepad++ on Ubuntu
  8. 20160109 流量保护器
  9. ROS ubuntu18.04 工控机安装(轮趣科技 )验证通过
  10. C++常用设计模式:单例设计模式(饿汉式、懒汉式)