如何使a1,a2,a3,a4,a5不能重复呢?请高手们进来看

liyuan1280025 2003-01-18 09:30:27
<%
a1=Int((10- 0 + 1) * Rnd + 0)
a2=Int((10- 0 + 1) * Rnd + 0)
a3=Int((10- 0 + 1) * Rnd + 0)
a4=Int((10- 0 + 1) * Rnd + 0)
a5=Int((10- 0 + 1) * Rnd + 0)
%>
如何使a1,a2,a3,a4,a5不能重复呢?
...全文
87 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphi_bird 2003-01-21
  • 打赏
  • 举报
回复
这段代码我试过了,你试试看,看你的问题能不能解决
<%
dim i'i代表你要有几个不一样的数
dim j,k
dim a(5)
dim seed()'存放随机种子的数组
i=5
j=0
redim seed(i-1)
'生成随机数种子数组,保证每个都不相同
for j=0 to i-1
seed(j)=timer+j
next
'根据不一样的种子产生不用的数字
for j=0 to i-1
randomize(seed(j))
a(j)=int((10-0+1)*rnd()-0)
next

response.write a(0)&"|"&a(1)&"|"&a(2)&"|"&a(3)&"|"&a(4)
%>
delphi_bird 2003-01-20
  • 打赏
  • 举报
回复
说到底就是随机种子不同就可以了
你可以用秒或毫秒作种子,然后一级一级判断是否相同
相同就延时,再产生一次
这是我的思路
liyuan1280025 2003-01-20
  • 打赏
  • 举报
回复
<%
dim a(5)
for i=1 to 5
Randomize
a(i)=int(rnd*1000)
for j=1 to (i-j)
if a(i)=a(j) then
i=i-1
end if
next
next

response.write a(1)&"|"&a(2)&"|"&a(3)&"|"&a(4)&"|"&a(5)
%>
我把a(i)=int(rnd*1000)中的1000改成10,照样还是会重复呀??
  • 打赏
  • 举报
回复
thanks
csdntoll 2003-01-18
  • 打赏
  • 举报
回复
提供以下Code参考:
<%
dim a(5)
for i=1 to 5
Randomize
a(i)=int(rnd*1000)
for j=1 to (i-j)
if a(i)=a(j) then
i=i-1
end if
next
next

response.write a(1)&"|"&a(2)&"|"&a(3)&"|"&a(4)&"|"&a(5)
%>
chenqianliang 2003-01-18
  • 打赏
  • 举报
回复
用循环判断
dim blna1,blna2,blna3,blna4,blna5
blna1=false
blna2=false
blna3=false
blna4=false
blna5=false
do until blna1 and blna2 and blna3 and blna4 and blna5
if a1=a2 then
a2=Int((10- 0 + 1) * Rnd + 0)
else
blna1=true
end if
if a2=a3 then
a3=Int((10- 0 + 1) * Rnd + 0)
else
blna2=true
end if
....
loop

这样子,这循环结束就不会有重复的值了,当然你还可以更改一下你取随机数的方法
李世垚 2003-01-18
  • 打赏
  • 举报
回复
说详细点
你是说他们重复了?
还是每次访问时 a1,a2,a3,a4,a5的值都一样
后者我预见过
解决方法是
a=rnd(-1)
randomize(key)
你要做的是要求key每次都不一样,可以放文件了,数据库里,application里都行
或者取毫秒数
csdntoll 2003-01-18
  • 打赏
  • 举报
回复
用镶套循环来对5个随机数进行比较判断,取得不同的随机数

28,408

社区成员

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

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