取不重复的随机数解决方法

取不重复的随机数
Dim   b,   k,   i
b   =   55
        Open   "d:\a.txt "   For   Output   As   #1      
        For   k   =   0   To   9
                Randomize
                i   =   Int(Rnd()   *   55)   +   1
                Print   #1,   i
       
        Next   k
Close   #1
我想从0-55之间得到10个不重复的数字,但总是出现重复,请高手帮忙解决!谢谢!

------解决方案--------------------
晕,忘记贴地址了:
http://topic.****.net/T/20060830/11/4985999.html
------解决方案--------------------
Sub getRndNum()
Dim get_num(55) As Integer
Dim lsNum(10) As String
Dim aaa As Integer, k As Integer, i As Integer
Randomize
k = 0
Do While k < 10
aaa = Int(Rnd * 55) + 1
If get_num(aaa) <> 1 Then
k = k + 1
get_num(aaa) = 1
lsNum(k) = aaa
End If
Loop
Debug.Print Join(lsNum, ", ")
End Sub

------解决方案--------------------
我的Blog里有
http://blog.****.net/kitegirl/
参见里面的“跳蚤算法”专门讲这个问题的。
------解决方案--------------------
Randomize timer
dim abc(55) as intger,x as long,id as long
dim tmp as intger
for x =0 to 55
abc(x)=x)
next

for x=0 to 9
id =fix(rnd() *56) '取0-55之前的随机数
tmp= abc(x)
abc(x) =abc(id)
abc(id)=tmp
next

以上代码(调试)可以实现abc()里,前10个元素是乱序(随机)的