【ASP】在特定的范围内产生N个不同的随机数
2017-05-25 18:01
288 查看
ASP产生一个随机数不难。就两条特定语句:
以上的两条语句。表示从1~20这个范围内产生随机数,而且这些随机数都是整数。
那么,要在1~20连续产生20个不同的随机数。也就是随机排列1~20。该怎么解决呢?
首先,我们须要数组来存储这20个不同的随机数。
ASP能够用例如以下的两种方式定义一个容量为20数组:
当中。第二组后接number= Session("xx") 能接住前一页面通过Session("xx")=number。传递过来的number数组。
要在1~20连续产生20个不同的随机数,也就是随机排列1~20的基本思想是:
首先在1~20产生一个随机数X。然后对这个之前产生的数据进行遍历。推断是否存在有数等于这个新产生的随机数的,假设有,立flag,
然后对之前的数据遍历完成之后,推断flag是否立起来。
假设是。就不加入这个随机数进数组。又一次产生随机数并收起flag,再又一次遍历已有的数据中是否已有这个随机数,
假设否。就加入,直到20个数据产生完成。
最后输出这个20个数据
详细实现的代码例如以下:
执行结果例如以下:
![](http://img.blog.csdn.net/20141119093309468)
能够发现,每次刷新这个页面,此20个数据都是不同的。
<% Randomize x=int(20*rnd+1) %>
以上的两条语句。表示从1~20这个范围内产生随机数,而且这些随机数都是整数。
那么,要在1~20连续产生20个不同的随机数。也就是随机排列1~20。该怎么解决呢?
首先,我们须要数组来存储这20个不同的随机数。
ASP能够用例如以下的两种方式定义一个容量为20数组:
<% dim number(20) %>
<% dim number redim number(20) %>
当中。第二组后接number= Session("xx") 能接住前一页面通过Session("xx")=number。传递过来的number数组。
要在1~20连续产生20个不同的随机数,也就是随机排列1~20的基本思想是:
首先在1~20产生一个随机数X。然后对这个之前产生的数据进行遍历。推断是否存在有数等于这个新产生的随机数的,假设有,立flag,
然后对之前的数据遍历完成之后,推断flag是否立起来。
假设是。就不加入这个随机数进数组。又一次产生随机数并收起flag,再又一次遍历已有的数据中是否已有这个随机数,
假设否。就加入,直到20个数据产生完成。
最后输出这个20个数据
详细实现的代码例如以下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% '禁止缓存' Response.CacheControl="no-cache" Response.Expires=-1 Response.Charset="UTF-8" '配合第一行设定网页编码' '核心代码' dim RandomArray(20) '定义一个长20的一位数组' i=0 do while i<UBound(RandomArray,1) Randomize x=int(20*rnd+1) flag=true For j=0 To UBound(RandomArray,1) if RandomArray(j)=x then flag=false exit for end if next if flag=true then RandomArray(i)=x i=i+1 end if loop '输出数组' For i=0 To UBound(RandomArray,1) Response.Write RandomArray(i)&"," Next %>
执行结果例如以下:
能够发现,每次刷新这个页面,此20个数据都是不同的。
相关文章推荐
- 【ASP】在特定的范围内产生N个不同的随机数
- 【Java】在一定的范围内产生不同的随机数
- 【C】产生一定范围内一定数量的不同随机数
- Python 产生两个方法将不被所述多个随机数的特定范围内反复
- Java中在特定区间产生随机数 (2009-03-26 13:31:49)转载▼ 标签: 杂谈 生成指定范围内的随机数 这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试
- Python 产生特定范围内不重复多个随机数的两种方法
- JAVA指定范围内产生不同的随机数
- 产生特定范围内的随机数
- Matlab产生特定范围的随机数矩阵
- asp.net下生成99个不同的随机数
- c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
- 随机产生N位由数字和字母组成的密码 asp随机数
- sqlserver 自定义函数随机产生指定范围的随机数
- c#.net利用RNGCryptoServiceProvider产生任意范围(int32)强随机数的办法
- 每次运行产生不同随机数
- 一种算法思想:关于产生m个n范围内的不重复随机数(m<=n)
- 如何产生一定范围内的随机数
- vc 产生一定取值范围的随机数
- asp随机数 随机产生N位由数字和字母组成的密码
- C++连续产生不同的随机数