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

抽奖随机算法

发布时间: 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嘛,里面记载奖品名字和数量啊,不懂可以追问

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:594
制作脚本网站 发布:2025-10-20 08:17:34 浏览:889
python中的init方法 发布:2025-10-20 08:17:33 浏览:583
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:766
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:685
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1014
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:257
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:116
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:808
python股票数据获取 发布:2025-10-20 07:39:44 浏览:714