java抽奖算法,高人请指点一二

一共有3分,一天可以进行无数次抽奖,最高获得3分,可以是1+1+1也可以是2+1
也可以是1+2,分别是每次抽奖获得的奖励数,这个怎么做呢?

参考:http://blog.sina.com.cn/s/blog_93dc666c0101h3gd.html

这个简单,第一次抽奖产生一个1~3的随机数
第二次产生1~(N-已经抽奖的总分)的随机数
当已经抽奖的随机数总和达到3,就不许抽奖了。

“几”=(抽奖人数/奖品数)*N。这是一种最简单抽奖算法

http://www.cnblogs.com/younggun/p/3249772.html

    Random r = new Random();//随机数生成器
    int max = 3;//最大分数
    int total=0;//历史以获得分数总和
    if(total>=max){
        return;//没有抽奖机会,已达到分数上限
    }
    int the = r.nextInt(max-total);//本次分数
    total += the;//增加总分数