我必须编写一个轻量级算法来生成伪随机无限数字序列,并且强烈依赖于初始种子。
在python中它应该像
seed = 3345 // Common number
generator = numgen(seed)
while True:
generator.getNext() // With the same seed it produce same numbers
正如我所写的,即使在不同的机器和不同的时间,它也必须生成相同的数字系列。是否有标准模式或我是否必须实现自己的算法?
答案 0 :(得分:9)
根据给定的要求,您可以选择常数系列
generator = itertools.repeat(seed)
这是
编辑:为了使其成为一个真正的答案,以下是如何使用Python的Mersenne Twister生成一系列随机数:
seed = 3345
maximum = 1000000
generator = random.Random(seed)
while True:
print generator.random(maximum)
创建自己的random.Random
实例可确保从其他地方调用随机数生成器不会干扰您的随机状态。