找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 96|回复: 3

这段产生随机数的代码,怎样才能让随机数不重复?

[复制链接]
发表于 2010-1-9 05:02:39 | 显示全部楼层 |阅读模式 IP:江苏扬州
<%
Function gen_key(digits)

dim char_array(50)
char_array(0) = "0"
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
char_array(10) = "A"
char_array(11) = "B"
char_array(12) = "C"
char_array(13) = "D"
char_array(14) = "E"
char_array(15) = "F"
char_array(16) = "G"
char_array(17) = "H"
char_array(18) = "I"
char_array(19) = "J"
char_array(20) = "K"
char_array(21) = "L"
char_array(22) = "M"
char_array(23) = "N"
char_array(24) = "O"
char_array(25) = "P"
char_array(26) = "Q"
char_array(27) = "R"
char_array(28) = "S"
char_array(29) = "T"
char_array(30) = "U"
char_array(31) = "V"
char_array(32) = "W"
char_array(33) = "X"
char_array(34) = "Y"
char_array(35) = "Z"

randomize

do while len(output) < digits
num = char_array(Int((35 - 0 + 1) * Rnd + 0))

output = output + num
loop


gen_key = output
End Function


response.write "<pre>" & gen_key(13) & "</pre>" & vbcrlf
response.write "<pre>" & gen_key(14) & "</pre>" & vbcrlf
%> 
想让他生成的数组不重复,有什么好的办法?
发表于 2010-1-9 05:02:43 | 显示全部楼层 IP:江苏扬州
’获得一定长度的随机数代码
’参数max最大长度
’参数min最小长度
Function getRanDom(max,min)
    Dim times, i, j times = 2
    Dim ttNumber
    ttNumber = max + min - 1
    Dim tAry()
    ReDim tAry(ttNumber)
    For i = 0 To ttNumber
        tAry(i) = min + i
    Next
    For j = 0 To times - 1
        i = ttNumber - 1
        While i > 0
              Dim temp,
              randomNum temp = 0
              randomNum = CInt(TtGetRandom(0, max * 3, i) Mod i)              temp = tAry(i)
              tAry(i) = tAry(randomNum)
              tAry(randomNum) = temp i = i - 1
       Wend
   Next
   getRanDom = tAry
End Function
Function TtGetRandom(max,min,chaosSeed)
    Randomize chaosSeed * Timer()
    TtGetRandom = Rnd * chaosSeed
End Function
'获得5位无重复随机数
Dim RndNum
RndNum=getRanDom(5,1)
Response.Write RndNum
回复

使用道具 举报

发表于 2010-2-24 21:05:08 | 显示全部楼层 IP:天津
一个个全都骑到老大头上来了... 我也来骑一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 23:27 , Processed in 0.265781 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表