45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:如何能够产生不重复随机数的简便算法?

如何能够产生不重复随机数的简便算法?

2016-09-06 14:50:08 来源:www.45fan.com 【

如何能够产生不重复随机数的简便算法?

产生不重复随机数的简便算法

吉林燃料乙醇 秦玉庆

产生不重复随机数的算法能够解决诸如随机洗牌,抽彩等问题,在网上的一些算法自觉较繁,现给出简单的算法。以下源程序为1..36个数字,随机排列,产生不重复随机数。

var

aa : array[1..36] of string[2]; //aa数组为需要随机排列的数组,

{先把1..36按顺序给aa数组赋值}

procedure TForm1.FormCreate(Sender: TObject);

var

i:integer;

begin

for i:=1 to 36 do begin

aa[i]:=inttostr(i);

bb[i]:=inttostr(i);

end;

end;

{随机进行排列}

procedure TForm1.Button1Click(Sender: TObject);

var

i,j:integer;

swapa:string[2];

begin

randomize;

for i:=1 to 36 do begin

j:=1+random(36);

swapa:=aa[i];

aa[i]:=aa[j];

aa[j]:=swapa;

end; //由此得到不重复的随机排列数字
 

本文地址:http://www.45fan.com/a/question/73263.html
Tags: 重复 产生 随机数
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部