高分求教:如何在制定范围内随机抽出6个数字,而且每个数字间的差值不小于指定数? 具体:在0-100件抽出6个数字,每个数字间差值不小于2.? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以取0-90之间,任取一个数,然后你给一个数加一或二。i=1a[0]=random(90)while (i<6)t=random(1)+1a[i]=a[i-1]+tnext a[0]=random(90)i=1while (i<6)a[i]=a[i-1]+random(100-a[i-1]-2*(5-i))next dropingleaf(叶孤飞云): 请问一下VB有random()这个函数吗?并且参数就是其随机取值范围? 上面一个算法还是有点毛病的a[0]=random(90)i=1while (i<6)t=random(100-a[i-1]-2*(5-i))if t<2 thena[i]=a[i-1]+2elsea[i]=a[i-1]+tend ifnext 答:victorycyz(中海)我不知道有没有random(i)这个函数,不过这个函数的意思就是取0-i之间的数! 请就问题回答,谢谢各位高手,知道的请赐教一二,这个问题对我比较重要!谢谢!to victorycyz(中海) 看您的级别是个高手,希望能给点意见!谢谢!!(另 :按照条件 选择随机数正是我需要的。)to dropingleaf(叶孤飞云) 你的思路很好,能否就题目给个比较普遍的算法呢 ?谢谢 ! to dropingleaf(叶孤飞云) “在制定范围内随机抽出6个数字,而且每个数字间的差值不小于指定数” 没有规定 前一个数字和后一个数字是否有关系,也就是说不一定是前面的加2 或指定的T,只要不小于指定的T,就是满足条件的数字。....t=random(100-a[i-1]-2*(5-i))if t<2 thena[i]=a[i-1]+2elsea[i]=a[i-1]+tend if...不是随机选取T,而是随机选取A(i) 请教,遍历工作表汇总符合条件的单元格数值到指定单元格 请高手门帮忙解答一个简单的VB数据库的问题 如何在vb中调用.mbx应用程序? 如何得到当天的日期? 十万火急! qq控件 高手请进:VB中如何准确计算共享软件的使用天数? 请问如何截获vb中操作SqlServer错误代码 谁有好的日期控件?详情点击。 排序问题。 谁有的VB的多媒体教学光盘,压缩后用QQ发过来我给他300分 请问如何将FRAME框变为透明,以使窗体上的图片不被遮挡?
i=1
a[0]=random(90)
while (i<6)
t=random(1)+1
a[i]=a[i-1]+t
next
i=1
while (i<6)
a[i]=a[i-1]+random(100-a[i-1]-2*(5-i))
next
请问一下VB有random()这个函数吗?并且参数就是其随机取值范围?
a[0]=random(90)
i=1
while (i<6)
t=random(100-a[i-1]-2*(5-i))
if t<2 then
a[i]=a[i-1]+2
else
a[i]=a[i-1]+t
end if
next
我不知道有没有random(i)这个函数,不过这个函数的意思就是取0-i之间的数!
看您的级别是个高手,希望能给点意见!谢谢!!(另 :按照条件 选择随机数正是我需要的。)to dropingleaf(叶孤飞云)
你的思路很好,能否就题目给个比较普遍的算法呢 ?谢谢 !
“在制定范围内随机抽出6个数字,而且每个数字间的差值不小于指定数”
没有规定 前一个数字和后一个数字是否有关系,也就是说不一定是前面的加2 或指定的T,只要不小于指定的T,就是满足条件的数字。
....
t=random(100-a[i-1]-2*(5-i))
if t<2 then
a[i]=a[i-1]+2
else
a[i]=a[i-1]+t
end if
...
不是随机选取T,而是随机选取A(i)