delphi产生不重复随机数的算法


本文整理自网络,侵删。

 delphi产生不重复随机数的算法能够解决诸如随机洗牌,抽彩等问题,在网上的一些算法自觉较繁,现给出简单的算法。以下源程序为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; //由此得到不重复的随机排列数字


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oury/archive/2005/04/18/351992.aspx

相关阅读 >>

Delphi中使用goo.gl(google的缩短url服务)api

Delphi流的操作

Delphi edit只能输入数字或小数点

Delphi 高亮选中memo某一行

Delphi xe10.x 快捷失灵解决办法

Delphi开发的app如何调用外部app

Delphi sccoloredid,星际争霸彩色 id 修改器 v0.2.0,支持 windows vista

Delphi windows 编程[5] - 学习窗体生成的过程五

Delphi读取webbrowse中的图片显示在image中

Delphi istream与tstream之间的相互转换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...