获奖概率,奖品1,奖品2 参考 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两种方法: 1、 定义一个最大区间,如100000,新建一个区间数组,如a[10,110,1110,100000],然后出0~100000的随机数,在哪个区间就是哪个。 注意:区间的差值/最大上限=目标概率 (要判断是哪个区间,只要for循环一下取第一个 a[i] <[随机数] 的i+1 即可) 2、 定义一个大数组,如a[100000],按照概率往里填充目标值,如a[1,1,1, …… 2,2,…… ,5,……],然后打乱(随你怎么打乱都行),再出0~99999的随机数n,取a[n]即可。 注意:所有概率和必须等于1,不要漏掉你不必控制出现 “未中奖” 的概率。 当然,如果你有历史出现记录,还可以在取到出现值后再判断一次,超出概率范围就重出。方法不错 检测FTP指定文件增长,如增加测下载到本地指定文件 datagridview的问题。求解 多线程卡死。。。 奇怪的Remoting问题! ConfigurationSettings如何动态对配置 RichTextBox字体颜色的改变怎么做 c#二维动态数组的问题???急!!!!!!! c#socket如何实现一个客户端读写多个socketserver服务器,请高手援手。 求救!!!如何用membership在profile中判断用户是否存在???????? 谁装了Rational XDE?怎么我一调用相关的操作,它把我的vs.net给关了,就什么都不做了 值传递 关于多线城同时启动的问题!
1、 定义一个最大区间,如100000,新建一个区间数组,如a[10,110,1110,100000],然后出0~100000的随机数,在哪个区间就是哪个。
注意:区间的差值/最大上限=目标概率 (要判断是哪个区间,只要for循环一下取第一个 a[i] <[随机数] 的i+1 即可) 2、 定义一个大数组,如a[100000],按照概率往里填充目标值,如a[1,1,1, …… 2,2,…… ,5,……],然后打乱(随你怎么打乱都行),再出0~99999的随机数n,取a[n]即可。
注意:所有概率和必须等于1,不要漏掉你不必控制出现 “未中奖” 的概率。 当然,如果你有历史出现记录,还可以在取到出现值后再判断一次,超出概率范围就重出。方法不错