vb的随机数算法

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:21:17
vb的rnd算得的随机数,多次运算以后,得出的随机数重复次数很多,有什么更好的算法,最好给出源代码

Private Sub Command1_Click()
Dim flag As Boolean
Dim r(1000)
Dim d As String
Randomize '初始化随机种子
For i = 0 To 10 '出11个100以内的不重复数
Do
r(i) = Int(Rnd() * (100))
flag = True
For j = 0 To (i - 1)
If r(j) = r(i) Then
flag = False '如果用过了就退出。
Exit For
End If
Next j
Loop Until flag = True
d = d + ";" + Str(r(i))
Next i
Label1.Caption = d ’在label1中显示出来
End Sub
'讲的这么清楚,应该明白了吧?

调用rnd之前,
先Randomize
下面的试试

Private Sub Cmd1_Click()
Randomize
Debug.Print Rnd
End Sub

要是不重复,那就不是“随机数”了
你如果要不重复的,就在新生成随机数时,在以生成的里面检查,没有这个再保留,有的话就继续。
代码并不复杂。你自己先写。

Private Sub Command1_Click()
Randomize
x = Val(InputBox("输入生成随机数的位数"))
For i = 1 To x