请问怎么让这个数组中的随机数不重复?
vb.net吧
全部回复
仅看楼主
level 3
1010363827 楼主
For i = 1 To 19
tk(i) = 587 + Rnd() * 29
Next
2014年06月22日 09点06分 1
level 3
1010363827 楼主
求解
2014年06月22日 09点06分 2
level 10
2014年06月22日 11点06分 3
level 3
For i = 1 To 19
c= 587 + Rnd() * 29
for d=1 to i
if tk(d)=c then exit for
else
if d=i then tk(i) = 587 + Rnd() * 29
endif
next d
Next i
2014年08月08日 15点08分 5
误导别人很有意思?
2014年08月08日 15点08分
Dim tk() As Integer = Enumerable.Range(587, 29).OrderBy(Function(x) Guid.NewGuid()).Take(20).ToArray()
2014年08月09日 02点08分
回复 Nukepayload2 : Dim tk() As Integer = Enumerable.Range(587, 29).OrderBy(Function(x) Guid.NewGuid()).Take(20).ToArray() 好早前的贴了吧...
2014年08月09日 02点08分
挖坟+卖萌 建议十黑@夜闻香
2014年08月09日 09点08分
level 13
把用过的随机数保存到任意一种IList里,产生随机数时用它判断是否重复。
2014年08月08日 15点08分 6
我之前也想的这个,最后发现没别人给我说的这个简单
2014年08月10日 03点08分
level 9
不用,在随机数前加上randoms()就可以了
2014年08月09日 02点08分 7
...这个早都解决了,谢了。那样还是有重复吧,只不过重置了
2014年08月09日 02点08分
看错你的意思了………循环判断吧,重复就不负值
2014年08月09日 02点08分
回复 o0qiuqiu0o : Dim tk() As Integer = Enumerable.Range(587, 29).OrderBy(Function(x) Guid.NewGuid()).Take(20).ToArray() 用这个就好了
2014年08月09日 02点08分
回复 1010363827 :怎么用?
2014年08月09日 02点08分
level 1
求VB代码:
对一个已知数组a(i)进行随机输出7个不重复数.且要满足二条件,1,a()+a()=a();2.a()+a()=a()+a()或者a()-a()=a()+a();
注:a()可以是a(i)数组里面的任何一个数,且不是重复的.
2016年11月14日 02点11分 8
1