加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

随机发生多个不一再数字的asp措施

发布时间:2020-12-24 22:32:45 所属栏目:编程 来源:网络整理
导读:我们先来看一种我网上搜刮到的措施: 随机发生4个不一再数字的asp措施!(上水道的) % randomize dim?a1,a2,a3,a4 a1=Int(10?*?Rnd) a2=Int(10?*?Rnd) do?while?a1=a2 a2=Int(10?*?Rnd) loop a3=Int(10?*?Rnd) do?while?a1=a3?or?a2=a3 a3=Int(10?*?Rnd) loop

我们先来看一种我网上搜刮到的措施:

随机发生4个不一再数字的asp措施!(上水道的)
<%
randomize
dim?a1,a2,a3,a4
a1=Int(10?*?Rnd)
a2=Int(10?*?Rnd)
do?while?a1=a2
a2=Int(10?*?Rnd)
loop
a3=Int(10?*?Rnd)
do?while?a1=a3?or?a2=a3
a3=Int(10?*?Rnd)
loop
a4=Int(10?*?Rnd)
do?while?a1=a4?or?a2=a4?or?a3=a4
a4=Int(10?*?Rnd)
loop
%>

<%=a1%>
<%=a2%>
<%=a3%>
<%=a4%>

挺好懂的,不外要是要天生多点数字,这样可就贫困了,于是看到了下面一样写法:

--??作者:wxz
--??宣布时刻:2002-10-16 22:44:18

奈何一次天生10个差异的随机数
<%
dim?n(10)
for?i=1?to?10
Randomize
n(i)=Int(50*?Rnd+1)
??for?q=1?to?i
????if?n(i)=n(q-1)?then
????n(i)=n(q)+1
????end?if
??next
response.write?n(i)&"<br>"
next
%>

总认为这种要领很贫困,可是找不到更好的要领了:(

那么我就操作此法写了一个通用的子函数。

<%
function showrnd(x,y)
if y<x then
?exit function
end if
redim n(x)
dim i,q
dim isok
for i=1 to 10
Randomize
n(i)=round((y-1)* Rnd)+1
isok=false
do while not isok
? for q=1 to i
??? if n(i)=n(q-1) then
???? n(i)=Int((y-1)* Rnd)+1
??isok=false
??? ?exit for
?end if
? isok=true
? next
loop
response.write n(i)&"<br>"
next
end function

'发生在1到50内的10个随机数
call showrnd(10,50)
%>

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读