抽奖怎么利润计算公式是什么啊?

想弄一个送竹子里面抽奖。怎么计算?用什么软件谢谢大神【熊猫tv吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:391,117贴子:
想弄一个送竹子里面抽奖。怎么计算?用什么软件谢谢大神
想弄一个送竹子里面抽奖。怎么计算?用什么软件谢谢大神
点亮12星座印记,
贴吧热议榜
使用签名档&&
保存至快速回贴Stay hungry . Stay foolish .
【项目实战】——Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动)
  双蛋节(圣诞+元旦)刚刚过去,前几天项目上线的砸金蛋活动也圆满结束。
  现在在许多网站上都会有抽奖的活动,抽奖的算法也是多种多样,这里介绍一下如何根据每种奖品的权重来抽奖,适用于多种抽奖形式。
  比如现在举行一次砸金蛋活动中,奖品如下:
  奖品够丰富的哇,香车美女豪宅都有了~不过由于法律的原因,活人是不能赠送的,所以一等奖只能送海报了~~
  奖品在数据库中的存储情况
  奖品实体 Prize.java
public class Prize {
private int
private String prize_
private int prize_
private int prize_
  这里只考虑最简单的抽奖实现,所以暂时只为奖品设计如上4个字段。
  见注释,prize_name表示奖品名称;prize_amount表示奖品数量,即本次抽奖活动计划发放此奖品的数量;prize_weight表示奖品权重,表示奖品被抽到的几率的比重,权重越大,被抽到的几率越大,比如本次砸金蛋活动有4种奖品,权重分别是1、2、3、4,总权重是10,那么每种奖品被抽到的几率就是1/10,2/10,3/10,4/10。
  核心算法:
* 根据Math.random()产生一个double型的随机数,判断每个奖品出现的概率
* random:奖品列表prizes中的序列(prizes中的第random个就是抽中的奖品)
public int getPrizeIndex(List&Prize& prizes) {
DecimalFormat df = new DecimalFormat("######0.00");
int random = -1;
double sumWeight = 0;
for(Prize p : prizes){
sumWeight += p.getPrize_weight();
double randomN
randomNumber = Math.random();
double d1 = 0;
double d2 = 0;
for(int i=0;i&prizes.size();i++){
d2 += Double.parseDouble(String.valueOf(prizes.get(i).getPrize_weight()))/sumW
d1 +=Double.parseDouble(String.valueOf(prizes.get(i-1).getPrize_weight()))/sumW
if(randomNumber &= d1 && randomNumber &= d2){
}catch(Exception e){
System.out.println("生成抽奖随机数出错,出错原因:" +e.getMessage());
  抽奖的逻辑可以用下面这张图表示:
  分析:如上图,为了便于计算和理解,设置每种奖品的权重分别为1,2,3,4,所以被抽到的概率分别为0.1,0.2,0.3,0.4(本次活动中奖概率为100%)。
  先生成一个随机数randomNumber,然后根据随机数所处区域判断奖品:
&randomNumber&=0.1
表示抽中一等奖
0.1&randomNumber&=0.3 表示抽中二等奖
0.3&randomNumber&=0.6 表示抽中三等奖
0.6&randomNumber&=1.0 表示抽中四等奖
public static void main(String[] agrs) {
PrizeMathRandom a = new PrizeMathRandom()
int[] result=new int[4]
List&Prize& prizes = new ArrayList&Prize&()
Prize p1 = new Prize()
p1.setPrize_name("范冰冰海报")
p1.setPrize_weight(1)
prizes.add(p1)
Prize p2 = new Prize()
p2.setPrize_name("上海紫园1号别墅")
p2.setPrize_weight(2)
prizes.add(p2)
Prize p3 = new Prize()
p3.setPrize_name("奥迪a9")
p3.setPrize_weight(3)
prizes.add(p3)
Prize p4 = new Prize()
p4.setPrize_name("双色球彩票")
p4.setPrize_weight(4)
prizes.add(p4)
System.out.println("抽奖开始")
for (i = 0
int selected=a.getPrizeIndex(prizes)
System.out.println("第"+i+"次抽中的奖品为:"+prizes.get(selected).getPrize_name())
result[selected]++
System.out.println("--------------------------------")
System.out.println("抽奖结束")
System.out.println("每种奖品抽到的数量为:")
System.out.println("一等奖:"+result[0])
System.out.println("二等奖:"+result[1])
System.out.println("三等奖:"+result[2])
System.out.println("四等奖:"+result[3])
  尝试抽奖10000次的结果如下:
一等奖:962
二等奖:2007
三等奖:3043
四等奖:3988
  每类奖品获奖次数比例刚好大约为1:2:3:4,学过概率的你肯定知道抽奖次数越多,测试结果越准确~~
  Tips:
  如果计划中奖率是100%的话,那么10个奖品只能抽奖10次,所以还要根据实际情况设置每种奖品数量和权重。
  如果需要设置中奖率不为100%,可以添加一个“伪奖品”,并为其设置权重,那么抽到这个“伪奖品”的概率就是不中奖的概率。
  如果在抽奖过程中某类奖品抽完了,可以做个判断,如果此奖品的剩余数量为0,则重新抽取奖品,直到抽到其他奖品位置。
  本来活动期间小编报着随时抢救bug的心态,连回家都抱着电脑,然而从活动上线到活动结束,并没有出现bug~~在此感谢产品部、测试部和研发部所有同事在上线前轰炸式的测试~~
【 转载请注明出处——胡玉洋】
Java根据概率、剩余奖品数量动态抽奖算法实现,概率总和可以不为100%
抽奖概率-三种算法
APP转盘抽奖Java服务端接口
幸运大转盘抽奖 抽奖算法 程序实现逻辑
大转盘抽奖算法
java实现大转盘抽奖的简单思路
php大转盘抽奖算法
幸运大转盘-jQuery+Java实现的抽奖程序
JAVA大转盘抽奖算法
php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
没有更多推荐了,以下试题来自:
问答题在1~n之间的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为:
n*(n-1)*(n-2)*...*(n-k+1)/1*2*3*...*k
请完善Java_2.java文件,并进行调试,使程序先显示输入窗口如下:
然后从自然数1~20中,每次抽3个数,计算中奖几率,并将最终结果在命令行中显示,其形式类似:你中奖的几率是1/1140.Good luck!
由于Java_2.j ava文件不完整,请在注释行“//*********Found********”下一行语句的下画线处填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。
给定源程序:
import javax.swing.*;
public class Java_2
public static void main (String[] args)
//*********Found********
String input=______.showInputDialog("你想抽几位数?");
//*********Found********
int k=Integer.parselnt(______);
input=JOptionPane.showInputDialog("你想在自然数中抽的最高数是几?");
//*********Found********
int n=______.parselnt (input);
int lotteryOdds=1;
for (int i=1; i<=k; i++)
lotteryOdds=lotteryOdds*(n-i+1)/i;
//*********Found********
System.out.printIn(”你中奖的几率是1/"+______+".Good luck!”);
System.exit (0);
JOptionPane input Integer lotteryOdds
为您推荐的考试题库
你可能感兴趣的试题
1.问答题 new getChars charArray.length reverse2.问答题 DataOutputStream test.dat close3.问答题 第1处: System.out.printIn或System.out.print4.问答题 第1处:xV第2处:showMessageDialog
热门相关试卷
最新相关试卷大转盘中奖概率怎么算_中华文本库
大转盘中奖率 100%,转盘共 20 格,其中一等奖占 2 格,抽中 概率 10% ,二...©2018 Baidu |由 百度云 提供计算服务 | 使用百度前必读 | 文库协议 | ...
巧用概率设计抽奖活动 巧用概率设计抽奖活动湖南省长沙市一师一附小四乙班 傅奕...,1 。由此可以计算出 1 万 次转盘会产生的各奖等的数量以及会产生的奖金总额...
jquery实现幸运大转盘抽奖程序代码_计算机软件及应用_IT/计算机_专业资料。jquery实现...大转盘原理:随机出一个数字,通过后台算出在那个概率区间返回指定跳转的角 度例...
量——设置奖品的中奖概率 第四步:设置“大转盘数量” 填写大转盘每人参与总...©2018 Baidu |由 百度云 提供计算服务 | 使用百度前必读 | 文库协议 | ...
内容会改变等等,小编今天给大家说下这一期月初献礼活动的幸运转盘的玩法个概率...魔龙诀本期幸运大转盘的玩法对玩家来说算是福利了呢,因为本次抽奖是不需要玩家...
七杀惊喜抽奖活动怎么玩 可以抽中星芒魔珠么 5418人
七杀月光宝盒活动抽奖几率怎么样 高概率摩托车中奖攻略 7830人
七杀合服转盘活动什么时候有 合服转盘有哪些...

我要回帖

更多关于 概率计算公式c和a 的文章

 

随机推荐