问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有哪些经典的抽奖算法

发布网友 发布时间:2022-04-22 16:43

我来回答

2个回答

热心网友 时间:2023-08-17 21:47

常见的有两种

第一类是常见的有等级的抽奖活动,如一等、二等、三等奖等等

// 分别为一、二、三、四等将的奖品数量,最后一个为未中奖的数量。  
    private static final Integer[] lotteryList = {5, 10, 20, 40, 100};  
  
    private int getSum() {  
        int sum = 0;  
        for (int v : lotteryList) {  
            sum += v;  
        }  
        return sum;  
    }  
  
    private int getLotteryLevel() {  
        Random random = new Random(System.nanoTime());  
        int sum = getSum();  
        for (int i = 0; i < lotteryList.length; ++i) {  
            int randNum = Math.abs(random.nextInt()) % sum;  
            if (randNum <= lotteryList[i]) {  
                return i;  
            } else {  
                sum -= lotteryList[i];  
            }  
        }  
        return -1;  
    }

第二类是不分等级的抽奖活动,仅需要参与人数与奖品总数,各奖品中奖概率相等。

//另一种抽奖算法,用于公司抽奖,即总参与人数与奖品数固定。  
    private static final int lotteryNum = 75;  
    private static final int total = 175;  
    private static Set<Integer> lotterySet = new HashSet<Integer>();  
    static {  
        for (int i=1; i <= lotteryNum; ++i) {  
            lotterySet.add(total*i/lotteryNum);  
        }  
    }  
    private int getLotteryNum2() {  
        Random rand = new Random(System.nanoTime());  
        int randNum = Math.abs(rand.nextInt()) % total;  
        if (lotterySet.contains(randNum)) {  
            return randNum*lotteryNum/total;  
        }  
        return -1;  
    }

热心网友 时间:2023-08-17 21:48

这是个很简单的数学问题,在概率上叫做平均分布,计算机的随机种子函数一般都是提供平均分布的随机数,所以问题可以直接这样解决。
1定义一个0-99的随机种子 R
2划分你的5个奖区范围
a 0-1
b 1-1
c 1-3
d 3-6
e 6-99

随机种子R做在哪个范围就是哪个中奖了哦!简单吧?
有哪些经典的抽奖算法

第一类是常见的有等级的抽奖活动,如一等、二等、三等奖等等 // 分别为一、二、三、四等将的奖品数量,最后一个为未中奖的数量。 private static final Integer[] lotteryList = {5, 10, 20, 40, 100}; private int getSum() { int sum = 0; for (int v : lotteryList)...

抽奖奖品概率的算法

else { // 第四种} 通过调整RATE1、RATE2、RATE3和RATE4的值,可以灵活地改变各个奖品的中奖概率。这种方法简单直观,易于实现和调整,适用于多种抽奖场景。需要注意的是,为了确保概率计算的准确性,必须确保RATE1、RATE2、RATE3和RATE4的值从小到大排列。这样可以避免在if语句中出现逻辑错误,确保程...

抽奖算法与流程设计

首先,抽奖算法的核心在于处理动态的奖品种类和概率。将概率转换为整数,通过随机数确定获奖,例如,ABC三种奖品,每种的概率为0.3,转换后范围为1-9。然而,这会导致实际中奖概率与设定不符,所以还需增加一个谢谢参与的概率,使得随机数范围扩展到1-10。如果增加一个概率极小的奖品D,随机数范围将变...

2021年年会JS抽奖算法思路!

方法一:直接抽取 生成1至62的数字数组,随机抽取10个不重复的数字。此方法直观,操作简单,但需要进行10次splice操作。方法二:先洗牌再抽取 将所有数字进行洗牌,一次抽取10个数字。此方法避免了重复抽取,但存在冗余排序,且不支持连续抽奖。优化版:无需洗所有牌 只需循环10次抽取,无需排序全部62个...

抽奖奖品概率的算法

可以预定义一个数,然后根据百分比计算各自的门槛值。如下: (注意:概率需要从小到大排列,因为用if判断的问题。) #define base_NUMBER 32767 #define base_DIV 100 #define RATE1 1 #define RATE2 5 #define RATE3 20 #define RATE4 74int var1, var2, var3, var4; main() { var1 = ...

EXCEL抽奖问题的算法

(A2&lt;&gt;"")*(A2&gt;2),IF(INT(RAND()*4+1)=1,"奖品",1),"")A3输入=IF(AND(A2&gt;2,A2&lt;&gt;""),A2-3+ISNUMBER(B2),"")C3输入=SUM((B1:B1000&lt;&gt;"")*1) shift+enter+ctrl 三键结束 D3输入=COUNTIF(B1:B1000,"奖品")将B2,A3分别下拉填充。这样,在B1中输入原有的券数就可以了。

c# 如何实现抽奖转盘算法

每次抽的时候分配一个唯一的号码,就不可能同时抽到一个奖了呀,所谓的转盘只不过是一个动画效果的障眼法而已,这样的实现就不难了哈

cf千变轮回钥匙(CF千变轮回钥匙数量算法介绍_cf千变轮回钥匙(CF千变轮 ...

CF游戏中的千变轮回钥匙是一种特殊的抽奖道具,对于参与千变轮回活动的玩家来说,理解其数量算法和使用规律至关重要。以下是关于CF千变轮回钥匙数量计算和使用技巧的详细介绍。首先,每次抽奖所需的钥匙数量并非固定,而是遵循一定的规律:1、3、5、7、11、18、30、38、60、70、78。这意味着玩家在抽奖时...

超级抽奖的抽奖系统

一、系统构建 超级抽奖的抽奖系统是通过编程实现的,它包含了一套复杂的算法来确保随机性。这套算法能够确保每次抽奖的结果都是随机的,不受任何外部因素的影响。参与者在系统中输入个人信息或进行特定操作后,即有机会参与抽奖。二、抽奖过程 在抽奖过程中,系统会依据预设的规则进行随机选择。具体的选择...

头条抽奖原理是什么意思?

抽奖游戏是人们在生活中非常喜爱的一种游戏方式,而头条抽奖则是一种常见的网络抽奖方式。其原理是根据多种算法对用户进行筛选和策略调整,最终选出中奖用户。其中,算法就是头条抽奖的灵魂,它是一种复杂的计算方式,能够帮助抽奖的结果尽可能地公正。头条抽奖的算法不仅考虑了用户的概率权重,同时也关注...

计算抽奖概率的算法 最公平的抽奖算法 算法有哪些 随机抽奖算法 抽奖提示算法 抽奖程序算法 概率抽奖算法 大转盘抽奖算法 抽奖算法如何做到等概率
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中导条约是什么意思 南京的事业单位待遇好吗 condition ...个登陆和注册信息的源代码,最简单的就可以,不需要数据库的那种... 个旧附近的vba编程培训机构哪家比较正规? 个旧附近的.Net培训班? 个旧附近的编程培训班? 个旧附近哪里有编程培训在哪里? 湖口哪里可以学电脑电脑技术哪里可以学习 个旧北大青鸟少儿编程培训学费多少? 为什么总是梦见去世的亲人? 为什么我总是梦见去世的亲人? 苹果怎么升级微信最新版本 hp Zbook 17 g3d的系统盘可以装到hp Zbook 15 g3上作为系统盘吗?不重新安装系统情况下。 惠普zbook 15 g6,背部这个滑块是什么,手贱把它推过来了,可再怎么使劲也推不过去了? hp zbook 17 g3怎么设置u盘启动 2021求推荐一款性能可观的移动图形工作站? ZBook17G6-37PA 适用于深度学习吗?效果怎么样 Zbook移动工作站17G6和15G6哪个散热好? HP Zbook 17 G6能用的拓展坞 惠普zbook17g64k屏型号 在photoshop里如何将几张tiff格式图片整合成一张图片,就是浏览是可以翻页的那种 怎么把各个文件夹里的图片合并成一个文件? 怎么把多个图片合成文档 几个图片怎么合成一个文件 怎么把图片和文档合并成一个文件 u盘怎么也保护啊? U盘如何写保护 怎么把u盘去保护 怎么样给U盘加保护? 双色球一共有几个等级的奖项 各中将条件是什么 404 Not Found 404 Not Found 过年了,单位要搞个内部员工活动,请高手出个好点子 公司年会抽奖一般有几名 有谁知道深度抽奖规则啊 说来听听 关于怎么设置抽奖概率的问题,谢谢 崩坏3多少级才能抽奖 双色球中奖有几个等级各有多少奖金 超市为什么总喜欢搞促销? 阴阳师抽奖活动最低等级限制是多少? 100人公司年会9000预算抽奖等级怎么规划 求做一个公司年会的抽奖器,总人数为50人,每次抽出一个~~奖项有一等奖,二等奖,三等奖和特别奖四种~ 比心嘟嘟几级能抽奖 QQ自由幻想VIP每个等级的好处 苹果手机快手上传超过2分钟的视频怎么传? 快手视频最多能发多少条,才有限制 苹果手机怎么在快手上发大于30MB的视频 求教程啊 苹果手机快手上传超过2分钟的视频怎么传! 最简单的麦芽糖怎么做