首页 > 解决方案 > 寻找一个简单的伪随机数生成函数的值

问题描述

我有一个生成伪随机数的方程,示例函数是众所周知的Linear congruential generator(LCG)。函数定义如下。

R1 = (a*R0 + b) 模 c

(R0)当给定种子值和时a,我可以轻松地编写一个递归函数来生成随机数。例如bc

ƒunction random (n,r0,a,b,c)
{
    if(n==0) return r0;

    return (a * random (n-1) + b) % c;
}

在这里,如果我想生成第 20 个随机数,我可以调用random(20,3,5,17,23).

我的问题是,假设 n = 2019,我如何用钢笔和铅笔计算某个 n 值的值?.

标签: random

解决方案


一种更简单的计算方法是





......



考虑



计算模数 C。


推荐阅读