关于随机数以一定概率产生 做过例子:如果你要0-2之间3个数,概率分别为10%,20%,70%那么你就需要随即生成1-10个数,并且把其中一个数转换为0;另外2个数转换为1;剩下一个转换为2。不过感觉方法比较笨,不知道有没有其它的方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关于随机数的问题, 你的描述不是很清楚.有两个想法:1. 数字生成的概率相同, 学过离散数学的应该知道, 指定范围内的随机数中间的出现概率高,两头的低. 要想得到的数字的概率相同, 只需将范围扩大后取其中间的部分即可. 例如: 要0-6的随机数, 首先,生成0-54的随机数, 然后, 从生成的数字中取24-30之间的数字, 在减24. 这样一来, 所得到的随机数的每个数的概率基本相同.2. 指定每个数字出现的概率. 这种实现也不难, 首先声明100个长度的数组, 将制定的数字按比例放到里面. 其次, 按1所说的方法生成0-99之间相同概率的数.然后将相应坐标里的数取出返回. 例如: 生成0-1的随机数(其中, 0出现的概率是30%,1是70%). I) 操作失误, 接上. I) int a[10] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}; II) int iIndex = GetSameRandam(0, 9); III) return a[iIndex]; java程序实现Vista系统开机启动 ecliplse struts 模板配置错误 抽象类有什么用 sun.misc.BASE64Decoder 中文解密问题? rt.jar ,dt.jar ,tool.jar是什么东西,什么时候需加到到classpath 如何用java语言实现按系统默认方式打开文件?? 如何用JAVA对文本排版(多行合并) 各位高手请问要过scjp应看那些书,多谢! 怎样在java(jbuilder)中引入一个已经存在的类? 如何把小应用程序放在HTM文件中? 正则表达式的提取问题 ??这句话如何调用??
1. 数字生成的概率相同, 学过离散数学的应该知道, 指定范围内的随机数中间的出现概率高,两头的低. 要想得到的数字的概率相同, 只需将范围扩大后取其中间的部分即可. 例如: 要0-6的随机数, 首先,生成0-54的随机数, 然后, 从生成的数字中取24-30之间的数字, 在减24. 这样一来, 所得到的随机数的每个数的概率基本相同.
2. 指定每个数字出现的概率. 这种实现也不难, 首先声明100个长度的数组, 将制定的数字按比例放到里面. 其次, 按1所说的方法生成0-99之间相同概率的数.然后将相应坐标里的数取出返回. 例如: 生成0-1的随机数(其中, 0出现的概率是30%,1是70%).
I)
II) int iIndex = GetSameRandam(0, 9);
III) return a[iIndex];