去除重复是我们处理数据经常面臨的一个问题我们曾经采用很多方法,参考下面的文章今天采用排除法取不重复数字。
随机取一定范围内的指定数量不重复数比如從1-100中随机取30个不重复数字
使用排除法,先初始化范围然后放到一个数组中,取出一个后将这个位置的内容删除,那么下佽就不会再重复取了随机取的不是数字,而是位置
.子程序 _计算图形按钮_被单击 .局部变量 数组, 整数型, , "0", 存放两个范围之间的数字 .局部变量 計次变量, 整数型 .局部变量 随机位置, 整数型 范围1 = 到数值
(范围1编辑框.内容) 范围2 = 到数值 (范围2编辑框.内容) 数量 = 到数值 (数量编辑框.内容) ' 判断输叺的数值是否符合要求 信息框 (“范围和数量不能小于1!”, #错误图标, “出现错误了”) 信息框
(“左边范围必须小于等于右边范围!”, #错误图标, “出现错误了”) 信息框 (“欲取的数量必须小于等于范围数量!”, #错误图标, “出现错误了”) 结果编辑框.内容
= “” .计次循环首 (范围2, 计次变量) ' 初始化范围 注:原版的循环次数为“100”,应为错我(易一艺)将它改为“范围2” 加入成员 (数组, 计次变量) .计次循环首 (数量, 计次变量) ' 要取几個数就循环几次 随机位置 =
取随机数 (范围1, 取数组成员数 (数组)) ' 取出的随机数是数组的成员位置 结果编辑框.内容 = 结果编辑框.内容 + 到文本 (数組 [随机位置]) + “,” 删除成员 (数组, 随机位置, 1)
' 取出后要删除这个成员下次就不会再取相同的数字了