【发布时间】:2020-09-17 18:27:57
【问题描述】:
编写一个程序来演示一个带模数的线性同余生成器 ??? = 2 ???和恒定???? = 1,为了实现全周期,乘数????一定是 等于4??? + 1. 考虑 ???? = 5、7 和 10;和 ???? =2 和 9。您还应该考虑 与此不匹配的乘数的两个值。
我的问题是我有在 Python 中运行它的代码。我得到的建议是
def lcg(modulus, a, c, seed):
"""Linear congruential generator."""
while True:
seed = (a * seed + c) % modulus
yield seed
但是,问题没有提到种子值,也不知道如何判断它是否会达到一个完整的周期。任何指导将不胜感激
【问题讨论】: