C#控制概率的随机数(主要是用来控制抽奖的概率)

你这抽奖是不是固定参与人数奖品个数而且都得送出去的?那你就直接抽人好了。比如100个人,要抽一个一等奖,就直接rand(100),抽到的就中奖。
■网友
要是我没理解错的话,你要的就是1个一等奖,5个二等奖,10个三等奖这种的吧。。。直接控制次数,不就控制概率了吗?
■网友
不是随机产生数,而是随机在队列里抽数,例如一开始有100个的数组,里面有1个1,两个2,等等,其他都是0,然后产生第一次产生一个0-99的数,从数组里取数,然后将数组最后一个数赋值给这个位置,第二次抽数,从0-98中产生,以此类推如果怕不够随机,可以先对数组进行随机交换其实,说白了就是抽扑克牌
■网友
楼主的方法感觉已经不错了,提升随机数范围是没用的,范围跟总量比总是不会变,只有提升循环次数,才能使最终得出的概率比较稳定(一等奖5%,二等奖10%,三等奖20%)。但感觉只是通过统计结果得到的概率,对于用户实际抽时的概率并没有很准确的控制。
■网友
怎么抽奖啊?一个人一个编号,然后抽奖?那直接随机编号就好了啊。。。感觉题主的代码随机1000次太少了吧,很容易有误差的
■网友
百度,赌轮算法


    推荐阅读