|
本帖最后由 老陈 于 2012-7-18 17:54 编辑
Howard 发表于 2012-7-18 12:51
又运行了一遍(10万次):
Wins: 7178次
你的结果对,我的程序有问题,已经找到了
While True
Randomize()
Ws = Rnd()
应该改成
Randomize()
While True
Ws = Rnd()
每次都初始化随机数序列是画蛇添足,因为系统产生随机数序列初始化命令在没有参数的情况下,系统调用系统时间做为初始化的种子,由于计算速度非常快(Visual Basic .net 2010, Windows7-64, Intel(R) Core(TM)i7-3770K CPU @ 3.50GHz, 8G RAM),如果计算两次的时间间隔小于系统时间的分辨率时就会产生相同的随机数,反而不随机了。
以前没注意这个问题,又学到东西了。
|
|