В этой статье в основном представлен метод генерации неповторяющихся случайных чисел в ASP. Друзья, которым он нужен, могут обратиться к нему.
ASP генерирует случайные числа:
Скопируйте код кода следующим образом:
Рандомизировать 'Чисто случайно, без повторений
Response.write Int((999999999 * Rnd) + 111111111) 'Сгенерировать случайное число между 111111111 и 999999999
ASP не повторяет случайные числа:
Метод 1: проверено
При его использовании нужно обращать внимание на символы внутри, разделяющие строку.
Скопируйте код кода следующим образом:
<%
'Сгенерированный массив является неповторяющимся массивом
Функция GetRnd(lowerNum,upperNum)
Тусклый блок,RndNum,Fun_X
единица измерения = верхний номер - нижний номер
Восстановить MyArray(единица измерения)
Для развлечения_I=0 В единицу
myArray(Fun_I)= lowNum + Fun_I
Следующий
For 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)
%>
Способ второй:
Скопируйте код кода следующим образом:
<%
функция rndarray(istart,iend,sum)
dim arrayid(),i,j,blnre,temp,iloop,eloop
Redim arrayid (сумма-1)
я = 0
илуп=0
элуп=0
миллиард = ложь
рандомизировать
делай, пока я <сумма
temp=int(rnd*(iend-istart+1)+istart)
если я=0 тогда
arrayid(0)=температура
я=я+1
илуп=иллуп+1
еще
от j=0 до i-1
если arrayid(j)=temp, то
миллиард = истина
илуп=иллуп+1
Предложение «exit for» очень важно для предотвращения повторных циклов.
еще
илуп=иллуп+1
конец, если
следующий
если blnre=false, то
arrayid(i)=temp
я=я+1
еще
миллиард = ложь
конец, если
конец, если
петля
rndarray = присоединиться (идентификатор массива)
конечная функция
response.write rndarray(1,5,1) 'Начальный номер, конечный номер, сколько создано
%>