当前位置:首页 » 操作系统 » 抽奖随机算法

抽奖随机算法

发布时间: 2023-03-04 17:35:16

1. 求java算法:根据物品的数量来确定抽奖的概率(当物品数量为0时无论如何都不可能选到)

public class Lottery {

private int m = 1000;//发放奖券的数量
private int n = 2;//奖品的数量

public boolean getLottery(){
boolean isLottery = false;
double d = (double)n/(double)m;//中奖概率
double r = Math.random();//0~1之间的随机数,包括0
if(r<d){//如果随机数小于概率 那么中奖
n--;//奖品数量-1
isLottery = true;
}
m--;//奖券数量-1
return isLottery;
}

}

2. 抽奖奖品概率的算法谢谢了,大神帮忙啊

可以预定义一个数,然后根据百分比计算各自的门槛值。如下: (注意:概率需要从小到大排列,因为用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就能控制

求采纳

3. JAVA抽奖的算法

那你可以再1-10000之间随即嘛,概率小的奖品设置为1-10,概率大的设置为11-1000,最后随即出来的数判断一下在那个区间就可以了.
实体类,就是写一个JAVA BEAN嘛,里面记载奖品名字和数量啊,不懂可以追问

热点内容
android换背景 发布:2025-08-18 13:16:47 浏览:16
易语言gdi源码 发布:2025-08-18 13:06:05 浏览:782
iphone5s软件缓存 发布:2025-08-18 12:39:37 浏览:148
QQ推荐上传 发布:2025-08-18 12:38:51 浏览:860
qq忘记密保怎么找回密码 发布:2025-08-18 12:38:18 浏览:72
python字符串类型转换 发布:2025-08-18 12:35:54 浏览:399
ofdm信道估计算法 发布:2025-08-18 12:35:09 浏览:733
指数竞猜源码 发布:2025-08-18 12:29:26 浏览:698
天龙八部莫愁脚本官网 发布:2025-08-18 12:14:19 浏览:862
合资车为什么配置不高 发布:2025-08-18 12:09:36 浏览:76