有关Random随机数发生器(100分)

  • 主题发起人 主题发起人 gy87sz
  • 开始时间 开始时间
G

gy87sz

Unregistered / Unconfirmed
GUEST, unregistred user!
近日编程,要用到随机数发生器Random,原来以为很简单,写了下面这样一个程序,谁知看了生成文件后,大跌眼镜,为什么都是0?
哪里有任意数量,任意范围(Integer范围内即可)的随机数发生函数?
procedure TForm1.Button1Click(Sender:TObject);
var f:TextFile;
r:array[1..High(Word)] of Integer;
i:Integer;
begin
Randomize;
for i:=1 to High(Word) do
r:=Random(High(Word));
AssignFile(f,'123.Txt');
ReWrite(f);
for i:=1 to High(Word) do
Writeln(f,r);
CloseFile(f);
end;

不知什么原因,好象Random函数只能生成140个左右的伪随机数,虽然Delphi6中增加了一些随机数生成函数,但都不理想。
如何产生任意多(譬如:10万个随机数的)方法?
 
生成伪随机数,只要一更换种子,第一个值必然是0
这是一个特性,
您只选一个特定值作为种子,让他产生10000个数就比较随机了,
另外,有个办法可以更随机一些,就是用时间作为随机种子,
我试过了,随机的都难以再现,应该是不错的办法.
 
能否给出一段程序样例!
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部