日期:2014-05-20  浏览次数:20693 次

求一个简单算法?
说一下我的需求吧:   是一个抽奖的算法   ,假如一个奖品的中奖率是1/50,从数据库中取出的,页面上生成50个小图片,用户点击其中的某一个小图片,有1/50的中奖率。其实1/50的中奖率肯定是假的,还是由程序来控制的,肯定几率要小的多。
我的想法是(1)   用户点击图片的时候   将图片的id传入服务器端,然后生成1-50之间的一个随机数1(),如果有1/50的话,就再生成生成1-50之间的一个随机数2(相当于中奖号码),如果随机数1=随机数2,用户就中奖了,如果是这样的话中奖几率是不是就是1/50*1/50;请各位指点下,有什么好的想法

------解决方案--------------------
这样肯定纪律变成了1/250,可以第一次随机25个数,第二次随机两个数啊
------解决方案--------------------
我的想法是 : 比如把50个图片分别起名为0.jpg,1.jpg.......
然后设置一个50长度的int数组.
再随机产生一个0到49的整数,将这个数对应的那个int[]设置为1,其它设置为0.
当用户点击图片的时候,将图片的名字传回,根据名字得到一个整数.
去查该坐标的int[]值是否为1,是则中奖,不然则没有中奖.
------解决方案--------------------
用户点击时,一次生成两个随机数(1~50之间),若相同,则用户中奖——即经济又实惠