Foxtable(狐表)用户栏目专家坐堂 → 如何用NEXT()产生不重复的随机数呀?


  共有6776人关注过本帖树形打印复制链接

主题:如何用NEXT()产生不重复的随机数呀?

帅哥哟,离线,有人找我吗?
程兴刚
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7252 积分:40731 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/12/4 22:45:00 [显示全部帖子]

Dim Values As New List(Of Integer)
Dim a As Integer
For i As Integer = 0 To 100
    Values.Add(i)
Next
For i As Integer = 0 To 50
    a = Rand.Next(Values.Count-1)
    Output.Show(Values(a))
    Values.RemoveAt(a)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7252 积分:40731 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/12/4 23:05:00 [显示全部帖子]

或者这样更严谨一点(随机抽取0~50的不同重复的随机数):

 

Dim Values As New List(Of Integer)
For i As Integer = 0 To 50
    Values.Add(i)
Next

Dim a,b As Integer

a = Values.Count -1
For i As Integer = 0 To 50

    b = Rand.Next(a)
    Output.Show(Values(b))
    Values.RemoveAt(b)

    a = a - 1
Next

[此贴子已经被作者于2011-12-4 23:31:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7252 积分:40731 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/12/5 11:13:00 [显示全部帖子]

呵呵,我落伍了,学习!

 回到顶部