+ -
当前位置:首页 → 问答吧 → 随机生成6位7位可以,为什么不能生成8位数的呢?

随机生成6位7位可以,为什么不能生成8位数的呢?

时间:2011-12-03

来源:互联网

在论坛上找到这个代码,作者忘记名字了,经测试能用,但只能生成7位以下的。8位的我测试时出现500内部错误。我现在想生成8位的随机无重复的数字。请问怎么改?


<!--#include file= "conn.asp "--> 
<% 
Randomize() 
dim MaxProducts 
MaxProducts=20'改这个数可以改变一共要产生多少个随机数 
'如果不需要那么多,你可以只产生1000个就可以了 
'记住一点,MaxProducts值不要大于rangeRandom, 
'否则,呵呵,死循环! 
dim minRandomNum,maxRandomNum,rangeRandom 
minRandomNum=1000000 '产生的最小随机数,即随机数从100000开始 
'=100000 代表产生6位数的随机数 
'=10000 代表产生5位数的随机数 
'=依此类推 ...... 
maxRandomNum=9999999 '产生的最大随机数 

'随机数的范围宽度 
rangeRandom=maxRandomNum-minRandomNum+1 

dim i,j,num 
redim signArray(rangeRandom) 
redim recArary(MaxProducts) 
for i=0 to rangeRandom 
  signArray(i)=0 
next 
set rs=server.createobject("adodb.recordset")
sql="select * from verify"
rs.open sql,conn,1,3

i=0 
while i <MaxProducts 
num=Int(Rnd()*rangeRandom)+minRandomNum 
if signArray(num-minRandomNum)=0 then 
  if rs.eof then 
  rs.addnew 
  end if 
  rs( "test")=CStr(num) 
  rs.update 
  rs.movenext 
  signArray(num-minRandomNum)=1 
  i=i+1 
end if 
wend 
rs.close 
set rs=nothing 

Call EndConnection() 
%>

作者: guhunyihan   发布时间: 2011-12-03

应该是这2个地方
minRandomNum=10000000 '产生的最小随机数,即随机数从100000开始  
maxRandomNum=99999999 '产生的最大随机数  

作者: net_lover   发布时间: 2011-12-03

你产生的最大随机数都已经是限制7位数了
当然不会有8位数了

作者: chinmo   发布时间: 2011-12-03

引用 2 楼 chinmo 的回复:
你产生的最大随机数都已经是限制7位数了
当然不会有8位数了



那怎么改成8位啊?chinmo大哥

作者: guhunyihan   发布时间: 2011-12-03

楼主一天程序没学过吧。

作者: theforever   发布时间: 2011-12-03

请问你的简历怎么介绍你的程序水平的???

作者: theforever   发布时间: 2011-12-03