Random 随机数生成公式?

Random 随机数生成公式?,random,Random,正确或错误(证明你的答案正确): 这是我今天计算机科学考试的练习题,我不确定答案是什么?我记得我们说过在randNumGeneration中使用这个公式。。。?如果有人能帮我理解,那就太好了。谢谢 (我认为X{I}是:X sub I) 这意味着序列X的第(i+1)个值等于A的值乘以X序列的第i个(先前)值,然后输入到模运算符,该运算符将结果置于[0,M)区间 所以答案是正确的 例如: let A = 3, M = 5 and X0 = 4. X1 = A * X0 mod 5 = 3 * 4 m

正确或错误(证明你的答案正确):

这是我今天计算机科学考试的练习题,我不确定答案是什么?我记得我们说过在randNumGeneration中使用这个公式。。。?如果有人能帮我理解,那就太好了。谢谢

(我认为X{I}是:X sub I)

这意味着序列X的第(i+1)个值等于A的值乘以X序列的第i个(先前)值,然后输入到模运算符,该运算符将结果置于[0,M)区间

所以答案是正确的

例如:

let A = 3, M = 5 and X0 = 4.
X1 = A * X0 mod 5 = 3 * 4 mod 5 = 2 mod 5
X2 = A * X1 mod 5 = 3 * 2 mod 5 = 1 mod 5
X3 = A * X2 mod 5 = 3 * 1 mod 5 = 3 mod 5
X4 = A * X3 mod 5 = 3 * 3 mod 5 = 4 mod 5

let A = -3, M = 5 and X0 = 1.
X1 = A * X0 mod 5 = -3 * 1 mod 5 = 2 mod 5
X2 = A * X1 mod 5 = -3 * 2 mod 5 = 4 mod 5
X3 = A * X2 mod 5 = -3 * 4 mod 5 = 3 mod 5
X4 = A * X3 mod 5 = -3 * 3 mod 5 = 1 mod 5

我相信X{0}是X序列的第一个,并且它已经在-M和M之间。

模是欧几里得除法的余数 此操作未明确定义余数的符号

假设
d
除以
q
得到
n
剩余
r

在计算机科学中,这些数字通常是:

  • q in Z
  • d=n*q+r
  • abs(右)
  • 这个定义导致了两个符号都有商和余数的可能性。 理论上,总是选择正的余数,但根据计算机科学中的算法,它也可以是负的

    然而,它总是:
    -M

    我们可以说:
    0真的(-M+1,M-1)如果公式是(A*X_{i})Mod M//注意括号是语言相关的。语言没有理由不能定义其模运算符来返回[3M,4M-1]范围内的整数例如。当然,这种语言的设计者可能会被愤怒的程序员杀死。@belisarius:括号不排除端点吗?括号--[]--是包含的,paren是排除的。所以对于整数(a,b)相当于[a+1,b-1]。@GregS通常表示实数(实际上是任何完整的集合),不是整数。但是谁知道呢…谢谢!我想我现在明白了。
    
    X_{i+1} = A ∗ X_i mod M
    
    let A = 3, M = 5 and X0 = 4.
    X1 = A * X0 mod 5 = 3 * 4 mod 5 = 2 mod 5
    X2 = A * X1 mod 5 = 3 * 2 mod 5 = 1 mod 5
    X3 = A * X2 mod 5 = 3 * 1 mod 5 = 3 mod 5
    X4 = A * X3 mod 5 = 3 * 3 mod 5 = 4 mod 5
    
    let A = -3, M = 5 and X0 = 1.
    X1 = A * X0 mod 5 = -3 * 1 mod 5 = 2 mod 5
    X2 = A * X1 mod 5 = -3 * 2 mod 5 = 4 mod 5
    X3 = A * X2 mod 5 = -3 * 4 mod 5 = 3 mod 5
    X4 = A * X3 mod 5 = -3 * 3 mod 5 = 1 mod 5