vb产生随机数

来源:百度知道 编辑:UC知道 时间:2024/05/18 22:44:39
产生从1到1000000000之间所有整数都有可能的随机数

不要告诉我RND×100000000000
随机数
RND×100000000000步长是100000000

其实呢,思考了一个晚上,还是有解决的办法的.
就是用循环嵌套选择句再加上RND配合起使用的话.
低位\高位都可以取到了.
代码如下:
已经测试成功..绝对符合你的要求..要给分哦
Dim i%, Wei%, a#(1 To 100)
Randomize
For i = 1 To 100
Wei = Int(Rnd * 9 + 1)
Select Case Wei
Case Is = 1
a(i) = Int(Rnd * 10+1)
Case Is = 2
a(i) = Int(Rnd * 100+1)
Case Is = 3
a(i) = Int(Rnd * 1000+1)
Case Is = 4
a(i) = Int(Rnd * 10000+1)
Case Is = 5
a(i) = Int(Rnd * 100000+1)
Case Is = 6
a(i) = Int(Rnd * 1000000+1)
Case Is = 7
a(i) = Int(Rnd * 10000000+1)
Case Is = 8
a(i) = Int(Rnd * 100000000+1)
Case Is = 9
a(i) = Int(Rnd * 1000000000+1)
End Select
Next i

这个可以,很自然的是,在1000000000这么多的数字中,产生低位数的可能性不大,这是符合自然规律的
Private Sub Command1_Click()
Cls
Dim a As Double
a = 0
For i = 1 To 9
a = a * 10 + Int(Rnd * 10)
Next i
Print a + 1
'不加1产生的是0~999999999,加1,就是1~1000000000 的范围
End Sub

Private S