关于随机数问题(50分)

  • 主题发起人 主题发起人 okoy
  • 开始时间 开始时间
O

okoy

Unregistered / Unconfirmed
GUEST, unregistred user!
好象DELPHI提供的函数RANDOM()不能实现真正的随机。好象有规律。
有何方法能实现真正的随机?
 
如果事先不调用rondomize的话,产生的随机数是同样的,
调用了rondomize后,每次可以产生不同的随机数。而且
用程序产生的随机数确切的应该叫伪随机数,不过不会让
泥人容易的发现规律。
 
随机函数本来就是伪随机序列,就是说它是由一些特定的随机函数表达式产生
的,当然你不知道表达式而已!
>>有何方法能实现真正的随机?
先由rondomize生成“种子”。
 
以前似乎看过一篇文章,如果想制作自己的随机数可以这样:
取当前时间的微秒值,加上某个运算如限制大小等作为函数的返回值。
由于每次的微秒值都是不确定的,所以随机的概率非常大。
就算同一部机在同一微秒值启动程序,由于操作系统的任务不同等原因,
得到的随机数列也不尽相同。加上微秒值有一千个所以应该说是够用了。
不过我没试过。总觉得应该比pascal的那种方法好点,可能费点速度。
 
to wjiachun
>>先由rondomize生成“种子”。
不知道你试过没有,这样做好像没化不大。
请指点一二。
 
请说一下“真正随机”的含义??
个人觉得所谓“真正随机”好像无实际意义……
不知对否?
 
真正随机好象没有。网景曾竟想用过他作密码。可后来反倒让黑客们更容易破解。
随机数主要和时间有关。
可用randomize 生成种子。来产生伪随机数.
 
多人接受答案了。
 
后退
顶部