易语言取不重复的随机数

问题描述:

易语言取不重复的随机数
假设有30个数字
我要取两组数字,每一组有5个数,我要怎么判断两组数取的随机数都不同
比如
第一组=1,2,3,4,5
第二组=6,7,8,9,10
要求
第一组的数字各不相同,并且与第二组的数字也不要重复
第二组的数字同上
每一组要取的数量也不相同
1个回答 分类:数学 2014-11-08

问题解答:

我来补答
方法一.数组arr[arrlen]存储要取出的数值.
arrlen为数组arr的长度,取随机数
r=[0,arrlen-1],取出arr[r],将arr[r]
赋值为arr[arrlen-1],然后arrlen--,直至取完.
方法二.
你可以试试遍历数组,然后每次取一个随机数,用该随机数的下标数组值与当前遍历数组值交换.
这样就可以乱序其中的30个数字,你只要取前10个分两组就好了
再问: 有代码吗...
再答: 下面是方法二的实现方法:.版本 2
.局部变量 num, 整数型, , "30".局部变量 numlen, 整数型.局部变量 i, 整数型.局部变量 randnum, 整数型.局部变量 temp, 整数型.局部变量 str, 文本型
置随机数种子 ()numlen = 取数组下标 (num, ).计次循环首 (numlen, i)    num [i] = i.计次循环尾 ()  ' 这里是输入数组的值,根据你需要改' 乱序.计次循环首 (numlen, i)    randnum = 取随机数 (1, numlen)    temp = num [i]    num [i] = num [randnum]    num [randnum] = temp.计次循环尾 ()' 分组,根据需要修改输出方式.计次循环首 (10, i)    str = str + 到文本 (num [i]) + “ ”    .如果 (i % 5 = 0)        str = str + #换行符    .否则
    .如果结束
.计次循环尾 ()输出调试文本 (str)


 
 
展开全文阅读
剩余:2000
上一页:希望高人解答