问题描述
- java抽奖算法,高人请指点一二
- 一共有3分,一天可以进行无数次抽奖,最高获得3分,可以是1+1+1也可以是2+1
也可以是1+2,分别是每次抽奖获得的奖励数,这个怎么做呢?
解决方案
这个简单,第一次抽奖产生一个1~3的随机数
第二次产生1~(N-已经抽奖的总分)的随机数
当已经抽奖的随机数总和达到3,就不许抽奖了。
解决方案二:
“几”=(抽奖人数/奖品数)*N。这是一种最简单抽奖算法
http://www.cnblogs.com/younggun/p/3249772.html
解决方案三:
参考:http://blog.sina.com.cn/s/blog_93dc666c0101h3gd.html
解决方案四:
Random r = new Random();//随机数生成器 int max = 3;//最大分数 int total=0;//历史以获得分数总和 if(total>=max){ return;//没有抽奖机会,已达到分数上限 } int the = r.nextInt(max-total);//本次分数 total += the;//增加总分数
时间: 2024-09-23 13:53:16