ni+1=(af(ni)+b)mod M i=0,1,…,M-1 生成的数值序列称为是同余序列。当函数f(n)为线性函数时,即得到线性同余序列:
ni+1=(a*ni+b)mod M i=0,1,…,M-1 以下是线性同余法生成伪随机数的伪代码:
Random(n,m,seed,a,b) { r0 = seed; for (i = 1;i<=n;i++) ri = (a*ri-1 + b) mod m } 其中种子参数seed可以任意选择,常常将它设为计算机当前的日期或者时间;m是一个较大数,可以把它取为2w,w是计算机的字长;a可以是0.01w和0.99w之间的任何整数。