<%
'生成 k 个不重复的 小于max 的随机数
dim k
k=4
max=10
dim b() '生成的数存储在数组b()中
redim b(k)
b(0)=0
function check(t,n)
check=true
for d=1 to n-1
if t=b(d) then
check=false
End If
next
end function
for i= 1 to k
do
Randomize
b(i)= Int(Rnd*max)+1
loop until check(b(i),i)
next
%>
由数组a记录某数是否已生成,避免重复
<%
dim a(),b()
redim a(40),b(40)
for i=1 to 40
a(i)="noSelected"
next
k=20
for j=1 to k
do
Randomize
b(j)= Int(Rnd*40) 1
if a(j)="noSelected" then
exit do
end if
loop
next
for i=1 to k
response.write "<BR>"&b(i)
next
%>
这个方法可用来从数据库中取随机记录,具体如下:
先建立数据集记录RS ,令 max=rs.recordcount 生成数组 b 后
str=join(b,"|")
str="|"&str&"|"
n=1
While not rs.eof
if instr(str,"|"&n&"|") then
'进行操作
end if
n=n+1
rs.movenext
wend