php 中奖概率算法,php网站新添一个抽奖,要求后台可以控制谁中奖,怎么做?

用户投稿 90 0

关于“php_奖品概率”的问题,小编就整理了【4】个相关介绍“php_奖品概率”的解答:

php网站新添一个抽奖,要求后台可以控制谁中奖,怎么做?

给你一个概率计算上述代码是一段经典的概率算法,$proArr是一个预先设置的数组,假设数组为:array(100,200,300,400),开始是从1,1000这个概率范围内筛选第一个数是否在他的出现概率范围之内, 如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间,在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选的。这样筛选到最终,总会有一个数满足要求。就相当于去一个箱子里摸东西,第一个不是,第二个不是,第三个还不是,那最后一个一定是。这个算法简单,而且效率非常高。最后输出JSON给前端

抽奖奖品概率的算法?

可以预定义一个数,然后根据百分比计算各自的门槛值。如下: (注意:概率需要从小到大排列,因为用if判断的问题。

) #define BASE_NUMBER 32767 #define BASE_DIV 100 #define RATE1 1 #define RATE2 5 #define RATE3 20 #define RATE4 74 int var1, var2, var3, var4; main() { var1 = (int)((float)BASE_NUMBER*RATE1/BASE_DIV)

; var2 = (int)((float)BASE_NUMBER*RATE2/BASE_DIV)

; var3 = (int)((float)BASE_NUMBER*RATE3/BASE_DIV)

; var4 = (int)((float)BASE_NUMBER*RATE4/BASE_DIV); ....

. if ( rand <= var1 ) { // 第一种 } else if ( rand <= var2 ) { // 第二种 } else if ( rand <= var3 ) { // 第三种 } else { // 第四种 } ... } 如上,只需要改变BASE_DIV 和RATE1 2 3 4就能控制

区间概率计算方法?

首先比如举一个简单的栗子;

现重数据库取出奖品list分别为以下:;

1.苹果手机 2.苹果电脑 3.苹果一斤 4.苹果一箱 其获得概率分别为0.0001,0.0002,0.01,0.001;

下标分别为0,1,2,3;

计算奖品概率总和sum;

通过for循环遍历奖品list计算当前概率总和(如第一个就是0.0001,第二个0.0003);

用当前概率总和除以总概率,放入list数组中(可保证总概率恒为1);

用Math.random()函数生成0到1头尾不含的数字idex放入list中

通过Collections.sort(list)排序list,取出idex在数组中的下标,对应选取相同下标的奖品,抽奖结束。

抽奖几率算法?

你好,抽奖几率算法可以根据不同的需求和情境,采用不同的算法。

以下是一些可能的算法:

1. 均等概率算法:每个参与者的中奖几率都相等,可以通过随机数生成器来实现。

2. 权重算法:不同的参与者有不同的中奖几率,可以根据参与者的属性或历史行为来设定权重值,然后通过随机数生成器来按照权重分配奖品。

3. 概率递增算法:参与者的中奖几率随着参与次数的增加而递增,可以设定一个初始概率值和递增速度,然后根据参与者的历史参与次数来计算中奖几率。

4. 概率递减算法:参与者的中奖几率随着参与次数的增加而递减,可以设定一个初始概率值和递减速度,然后根据参与者的历史参与次数来计算中奖几率。

5. 概率波动算法:参与者的中奖几率会随机波动,可以设定一个波动范围和波动频率,然后通过随机数生成器来实现。

需要注意的是,抽奖几率算法应该公平、合理、透明,避免出现作弊或不公平的情况。同时,也需要遵守相关法律法规和道德规范。

到此,以上就是小编对于“php_奖品概率”的问题就介绍到这了,希望介绍关于“php_奖品概率”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!