我必须用Xn+1 = (aXn + b) mod m
Python 中的这个公式开发一个线性同余生成器。我想我了解如何生成数字序列但我不知道如何使用它,例如模拟骰子(我需要一个介于 1 和 6 之间的数字)
def seedLCG(initVal):
global rand
rand = initVal
def lcg():
a = 1664525
b = 1013904223
m = 2**32
global rand
rand = (a*rand + b) % m
return rand
seedLCG(1)
for i in range(10):
print lcg()