delphi中random取不重复的随机数。

delphi中random取不重复的随机数。,第1张

1、前面0的问题是因为(假定你现在输入的是5,即num为5),数组长度为5,但是随机数取值是random(5+1),也就是随机数值是从0-5一共6个数,那自然有一个取不到。

2、改成random(num)的时候,for k:=0 to i do个人感觉应该是for k:=0 to i-1 do

3、随机数算法有很多简单的方法,比goto什么简单的多,比如最常见的伪算法

a.创建数组x[n],并对每个元素赋值(比如说随机数在0-n之间),那就x[0]=0、x[1]=1至x[n]=n

b.从x[0]开始至x[n],将元素随机与x[0-n]之间的任意一个数字交换

如果是delphi2010以上,也有TDictionary这类东西

很简单啊,

procedure TForm1.Button1Click(Sender: TObject)

var i:integer

begin

randomize

for i:=1 to 1000 do

memo1.lines.add('A'+inttostr(random(10000)+99999))//字符串简单的拼接

end

var

xx:integer

begin

randomize

//每次都不一样,这句必须要

xx:=random(31)

//0~30包括0和30

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7972892.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存