线性同余生成器产生随机序列

产生比M小的随机序列的线性同余生成器公式为:x[i+1]=A*x[i]%M

如果M是素数,A的若干选择可以得到周期为M-1的随机序列,可以选择M=2^31-1=2 147 483 647,A=48 271。

为了避免溢出,可以使用以下公式:x[i+1]=A*(x[i]%Q)-R*[X[i]/Q]+Mδ(X[i])

其中Q和R分别是M/A的商和余数,如果前两项相减结果是正的,δ(X[i])为0;如果结果是负的则δ(X[i])为1。


没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭