当前位置:编程学习 > asp >>

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个成员互换,循环下去直到取够数量。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,