[bo][un]愚人[/un] 在 2008-11-7 14:50 的发言:[/bo]
随机抽取不重复的3个数呢?
’获得一定长度的随机数代码
’参数max最大长度
’参数min最小长度
Function getRanDom(max,min)
Dim times, i, j times = 2
Dim ttNumber
ttNumber = max + min - 1
Dim tAry()
ReDim tAry(ttNumber)
For i = 0 To ttNumber
tAry(i) = min + i
Next
For j = 0 To times - 1
i = ttNumber - 1
While i > 0
Dim temp,
randomNum temp = 0
randomNum = CInt(TtGetRandom(0, max * 3, i) Mod i)
temp = tAry(i)
tAry(i) = tAry(randomNum)
tAry(randomNum) = temp i = i - 1
Wend
Next
getRanDom = tAry
End Function
Function TtGetRandom(max,min,chaosSeed)
Randomize chaosSeed * Timer()
TtGetRandom = Rnd * chaosSeed
End Function
从我的网站找来的以前写的一种随机代码
里面应用了一种随机算法
原理是先顺序生成1至N个数的元素的数组
再将这个数组利用随机数打乱排列顺序,从而保证得到的随机数不重复
N越大这个代码随机数重复的概率越小。