この記事では主に ASP で非反復乱数を生成する方法を紹介します。必要な方は参考にしてください。
ASP は乱数を生成します。
次のようにコードをコピーします。
ランダム化 '純粋にランダムで、繰り返しはありません
Response.write Int((999999999 * Rnd) + 111111111) '111111111 ~ 999999999 の間の乱数を生成します
ASP は乱数を繰り返しません。
方法 1: テスト済み
使用するときは、文字列を分割する内部の文字に注意する必要があります。
次のようにコードをコピーします。
<%
'生成された配列は非反復配列です
関数 GetRnd( lowerNum,upperNum)
ディムユニット、RndNum、Fun_X
単位 = upperNum - lowerNum
Redim MyArray(ユニット)
Fun_I=0 の場合 ユニットへ
myArray(Fun_I)= lowerNum + Fun_I
次
Fun_I=0 の場合 丸める(単位)
RndNum = getRndNumber(Fun_I,unit)
Fun_X = myArray(RndNum)
myArray(RndNum)=myArray(Fun_I)
myArray(Fun_I)=Fun_X
次
GetRnd = 結合(myArray)
終了機能
関数 getRndNumber(下限,上限)
ランダム化
getRndNumber=Int((上限-下限+1)*Rnd+下限)
終了機能
Response.Write GetRnd(1,1000)
%>
方法 2:
次のようにコードをコピーします。
<%
関数 rndarray(istart,iend,sum)
dim arrayid()、i、j、blnre、temp、iloop、eloop
redim 配列 ID(合計-1)
i=0
iloop=0
エロープ=0
blnre=false
ランダム化する
私が<合計である間に実行します
temp=int(rnd*(iend-istart+1)+istart)
i=0 の場合
配列ID(0)=温度
i=i+1
iloop=iloop+1
それ以外
j=0からi-1の場合
arrayid(j)=temp の場合
blnre=true
iloop=iloop+1
「exit for'」という文は、冗長なループを防ぐために非常に重要です。
それ以外
iloop=iloop+1
終了する場合
次
blnre=false の場合
配列ID(i)=温度
i=i+1
それ以外
blnre=false
終了する場合
終了する場合
ループ
rndarray=結合(配列ID)
終了関数
response.write rndarray(1,5,1) '開始番号、終了番号、生成される数
%>