zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

ASP生成随机数ASP生成不重复随机数

ASP 生成 重复 随机数
2023-06-13 09:15:25 时间

ASP生成随机数:

复制代码代码如下:


Randomize"纯随机,不重复
Response.writeInt((999999999*Rnd)+111111111)"生成111111111到999999999之间随机数

ASP不重复随机数:

方法一:已测

使用的时候需要注意里面的分割字符串的字符。

复制代码代码如下:

<%
"生成的是一个不重复的数组
FunctionGetRnd(lowerNum,upperNum)
Dimunit,RndNum,Fun_X
unit=upperNum-lowerNum
RedimMyArray(unit)
ForFun_I=0Tounit
myArray(Fun_I)=lowerNum+Fun_I
Next
ForFun_I=0Toround(unit)
RndNum=getRndNumber(Fun_I,unit)
Fun_X=myArray(RndNum)
myArray(RndNum)=myArray(Fun_I)
myArray(Fun_I)=Fun_X
Next
GetRnd=Join(myArray)
EndFunction
FunctiongetRndNumber(lowerbound,upperbound)
Randomize
getRndNumber=Int((upperbound-lowerbound+1)*Rnd+lowerbound)
EndFunction
Response.WriteGetRnd(1,1000)
%>


方法二:

复制代码代码如下:
<%
functionrndarray(istart,iend,sum)
dimarrayid(),i,j,blnre,temp,iloop,eloop
redimarrayid(sum-1)
i=0
iloop=0
eloop=0
blnre=false
randomize
dowhilei<sum
temp=int(rnd*(iend-istart+1)+istart)
ifi=0then
arrayid(0)=temp
i=i+1
iloop=iloop+1
else
forj=0toi-1
ifarrayid(j)=tempthen
blnre=true
iloop=iloop+1
exitfor"这一句很重要,防止多余的循环
else
iloop=iloop+1
endif
next
 ifblnre=falsethen
 arrayid(i)=temp
 i=i+1
 else
 blnre=false
 endif
endif
loop
rndarray=join(arrayid)
endfunction
response.writerndarray(1,5,1)"开始数字,结尾数字,生成多少个
%>