要随机生成不重复的随机数,我写的代码总是有重复的,请高手指点!

passme8 2008-04-09 03:28:36
我写了两段帐号自动生成的代码如下,可是会有很多重复的,如何才能让他不重复?麻烦帮我看一下如何修改?
<%
Function RndNumber(Min,Max)
Randomize
RndNumber=Int((Max - Min + 1) * Rnd() + Min)
End Function
for i=0 to 1000
for i2=0 to 0
num=RndNumber(100000000,999999999)
response.Write(num)
next
response.Write("<br>")
next
%>
还有一段是生成字母与数字混合的帐号,都是有相同帐号的
<%
Function Createpass(LengthNum)
Dim Ran,i
if Not IsNumeric(LengthNum) then LengthNum=8
Createpass=""
For i2=1 To LengthNum
Randomize
Ran = CInt(Rnd * 2)
Randomize
If Ran = 0 Then
Ran = CInt(Rnd * 25) + 97
Createpass =Createpass& UCase(Chr(Ran))
ElseIf Ran = 1 Then
Ran = CInt(Rnd * 9)
Createpass = Createpass & Ran
ElseIf Ran = 2 Then
Ran = CInt(Rnd * 25) + 97
Createpass =Createpass& Chr(Ran)
End If
Next
End Function
dim num
for i=0 to 100
for i2=0 to 0
num=Createpass(8)
response.Write(num)
next
response.Write("<br>")
next

%>
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
passme8 2008-04-13
  • 打赏
  • 举报
回复
分段生成如何保证不重复呢?
文盲老顾 2008-04-10
  • 打赏
  • 举报
回复
分段生成,生成一部分就写次文件保存
然后 location.reload
打开原来的数据继续
passme8 2008-04-09
  • 打赏
  • 举报
回复
生成一次就超时了
文盲老顾 2008-04-09
  • 打赏
  • 举报
回复
难道天天生成么?
passme8 2008-04-09
  • 打赏
  • 举报
回复
这个算法行是行,不过可能时间复杂度太高,我要生成10万个数就不行了
文盲老顾 2008-04-09
  • 打赏
  • 举报
回复
dim vstr,rndNum
randomize

vstr = ","

do while split(vstr,",") < 100
rndNum = ","
do while instr(vstr,rndNum) > 0
rndNum = right("00000000" & (rnd() * 99999999),8)
loop
vstr = vstr & rndNum & ","
loop

a = split(vstr,",")

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧