李 李颖 Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #2 如果要求不是很高的话, Delphi自己有产生随机数的函数 function Random [ ( Range: Integer) ]; 返回一个0<=X<Range的随机数, 如果不指定Range返回0<=X<1的实型随机数 初次使用前注意调用Randomize,以初始化随机数产生器。
如果要求不是很高的话, Delphi自己有产生随机数的函数 function Random [ ( Range: Integer) ]; 返回一个0<=X<Range的随机数, 如果不指定Range返回0<=X<1的实型随机数 初次使用前注意调用Randomize,以初始化随机数产生器。
M moutocean Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #3 李颖.你好,'调用Randomize,以初始化随机数产生器',有何作用?
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-31 #4 如果你不调用randomsize,两次运行的结果是一样的, randomsize是与时钟相关的,会产生不同的随机数
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-01 #5 是随机数种子,呵呵,根据时钟来的,根据当前时钟, 做复杂的计算,实际上也不随即。 随数算法有许多,找资料吧
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-01 #6 本人在编程中也用到随机数,但Delphi的随机数函数有一个缺陷,即每次 执行程序时,随机数都是一样的(好象是4、17、26...),这那是随机数啊! 本人的解决办法为: ... randomsize; Rando(1000); ... 然后再使用Delphi提供的随机数函数,即可达到随机数应用的目的。
本人在编程中也用到随机数,但Delphi的随机数函数有一个缺陷,即每次 执行程序时,随机数都是一样的(好象是4、17、26...),这那是随机数啊! 本人的解决办法为: ... randomsize; Rando(1000); ... 然后再使用Delphi提供的随机数函数,即可达到随机数应用的目的。
李 李颖 Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-01 #8 James,你的情况是因为没有初始化随机数(Randomize) 3h,你的办法不行,当需要连续取得大量随机数时, 程序执行得太快,就是连续的数值了,甚至是一样的。 就算没有这个问题,毫秒值也只有1000种情况。
James,你的情况是因为没有初始化随机数(Randomize) 3h,你的办法不行,当需要连续取得大量随机数时, 程序执行得太快,就是连续的数值了,甚至是一样的。 就算没有这个问题,毫秒值也只有1000种情况。
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-03 #9 Hi,李颖 初始化了也不行. 好在问题不是太碍事,将就了。
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-03 #10 欲得到一组随机数, 通常会遇到两种问题. 1.随机数不随机, 每次都相同; 2.得到的 一组数中有重复的数. 对于第一中情况, 用randomize基本上能够解决. 第二种情况我的时候我的办法: 我先建立一个堆栈(数组+堆栈位置), 用一个Whild循 环来得到随机数, 每次得到一个随机数后, 与堆栈中的数依次比较, 如果无重复则将 新的数放到堆栈中, 否则重新生成一个随机数, 直到堆栈满了为止. 用此方法能够保 证得到一组不重复的随机数.
欲得到一组随机数, 通常会遇到两种问题. 1.随机数不随机, 每次都相同; 2.得到的 一组数中有重复的数. 对于第一中情况, 用randomize基本上能够解决. 第二种情况我的时候我的办法: 我先建立一个堆栈(数组+堆栈位置), 用一个Whild循 环来得到随机数, 每次得到一个随机数后, 与堆栈中的数依次比较, 如果无重复则将 新的数放到堆栈中, 否则重新生成一个随机数, 直到堆栈满了为止. 用此方法能够保 证得到一组不重复的随机数.