ASP取不重复的随机数
asp
[vb] view plaincopy
dim arr(36),xx,tt,tmp
for xx=1 to 36
arr(xx-1)=xx
next
for xx=1 to 5
Randomize
tt=clng((ubound(arr)-xx)*rnd())
response.write(arr(tt) & "<br>")
tmp=arr(tt)
arr(tt)=arr(ubound(arr)-xx)
arr(ubound(arr)-xx)=tmp
next
上面一段是从1-36之间随机取5个不重复数的代码,编码的原理是先把1-36之间的所有整数放到一个数组里面,第一次从1-36里随机1个整数作为索引取出数组中对应的成员,然后与第36个成员互换,第二次再从1-35里随机取1个整数作为索引取出数组中对应的成员,然后再与第35个互换,第三次再从1-34里随机取一个整数作索引取出数组中对应的成员,然后再与第34个成员互换,循环下去直到取够数量。