线性同余方法
线性同余方法(LCG)是一种产生伪随机数的方法。
它是根据递归公式:RandSeed = (A * RandSeed + B) % M
线性同余法最重要的是定义了三个整数,乘数 A、增量 B和模数 M,其中A, B, M是产生器设定的常数。 LCG的周期最大为 M,但大部分情况都会少于M。要令LCG达到最大周期,应符合以下条件:
- B,M互质;
- M的所有质因数都能整除A-1;
- 若M是4的倍数,A-1也是;
- A,B,N[0]都比M小;
- A,B是正整数。
C 语言实现
下面给出一种 C 语言实现
static