Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
产生不重复随机数的简便算法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

     吉林燃料乙醇 秦玉庆

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


相关文章

相关软件