平方取中法

平方取中法Middle-square method)是个产生伪随机数的方法,由冯·诺伊曼在1946年提出。

算法:

  1. 选择一个位数作为种子。
  2. 计算
  3. 不足个位,在前补0。在这个数选中间个位的数,即的数,将结果作为

优劣

它并不算很好的方法,因为其周期通常很短,而且有很大的弱点(例如当起始数值是 便不断重复)。不过这些问题很容易察觉,加上它十分快速,适用于ENIAC,不无可取之处。

例子

  1. 675248 → 455 959 861 504
  2. 959861 → 921 333 139 321
  3. 333139 → 110 981 593 321
  4. 981593 → 963 524 817 649
  5. 524817 → 275 432 883 489

...

参见