怎样用vbs生成无重复的随机函数?

xilo 2005-03-17 09:11:57
是用randomize就行了吗?
好象不行。

Randomize [number]

Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。

如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。

注意 要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。

对randomize一直不知道是怎么回事,还有后面那个参数[number]也不知道是什么东东。。是不是用这个就可以生成无重复的随机数的呢?能不能解析一下啊?

...全文
318 点赞 收藏 7
写回复
7 条回复
patchclass 2005年03月18日
random是javascript里面的
回复 点赞
patchclass 2005年03月18日
randomize是重新打乱种子

Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。
如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。

Rnd[(number)]
Rnd 函数返回一个小于 1 但大于或等于 0 的值。 number 的值决定了 Rnd 生成随机数的方式:小于零 每次都相同的值,使用 number 作为种子。
大于零 序列中的下一个随机数。
等于零 最近生成的数。
省略 序列中的下一个随机数。


rnd()得到的随机数就是0 到1间的小数值
回复 点赞
xilo 2005年03月17日
晕!~!~
回复 点赞
超级大笨狼 2005年03月17日
<SCRIPT LANGUAGE=vbscript >
'洗牌
Dim N,S,D,P
P=54'牌的数量
Set D = CreateObject("Scripting.Dictionary")
do while D.Count<P
Randomize
N=Int(P * Rnd + 1)
if not D.Exists(cstr(N)) then
D.Add cstr(N),cstr(N)
end if
loop
for each K in D.Keys
S=S & K & " "
next
msgbox replace(trim(S)," ",",")
</SCRIPT>
回复 点赞
xilo 2005年03月17日
有没有人回答我啊。。。
答完立即给分/
虽然分不是很多。
回复 点赞
xilo 2005年03月17日
其实我想切底解决Randomize [number]这个参数问题。。。
Randomize是怎样用的,加个[number]又是什么意思,这个[number]怎样用?能不能举个示例?
好象很多人用Randomize的时候都不加[number]这个东东的。。。
很晕~~~~
回复 点赞
纪俊 2005年03月17日
randomize是重新打乱种子
不然你的随机数在一次运行中都是一样的

randomize();//初始化
int rand();//生成0到RAND_MAX之间的数
int random (num);//生成0到num-1之间的数

具体例子昨天就有人问:http://community.csdn.net/Expert/topic/3853/3853091.xml?temp=.4215357
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告