Algorithm 如何处理余数函数?

Algorithm 如何处理余数函数?,algorithm,random,vbscript,Algorithm,Random,Vbscript,我在看一个公式,它是: Xn+1=(a Xn+c)(m型) 其中“n”是值的数量,可以是1到1700。“X”是 号码。(n+1和n都作为子脚本) 我试图找到伪随机数列表的未来可能结果(每个数字最多有6位数字,并且可以有一个从000001到999999的值) 我知道Xn+1和Xn的值;对于“m”,我使用值“1000000”或“999999”,因此结果总是6位数或更少 我需要找出“a”的值 供参考:Xn=663354和Xn+1=142516或211941或453794或512535 或704928(

我在看一个公式,它是:

Xn+1=(a Xn+c)(m型)

其中“n”是值的数量,可以是1到1700。“X”是 号码。(n+1和n都作为子脚本)

我试图找到伪随机数列表的未来可能结果(每个数字最多有6位数字,并且可以有一个从000001到999999的值)

我知道Xn+1和Xn的值;对于“m”,我使用值“1000000”或“999999”,因此结果总是6位数或更少

我需要找出“a”的值

供参考:Xn=663354和Xn+1=142516或211941或453794或512535 或704928(不知道这些数字的顺序,但可以尝试一次 就我个人而言,如果我知道如何在 (上式)

如果有人能提出其他建议,我需要解这个方程或任何其他方程

我不擅长编程;我目前正在使用
MS Excel
解决此问题。 但是可以理解一点VB中的代码


非常感谢您的期待。

如果我理解得很好,您希望确定循环关系中的参数a和c。但方程只有一个解。您的系统未确定,您需要3个值Xn+2、Xn+1和Xn。()


如果你知道c,那么这很明显:你需要解一个线性方程。

非常感谢亲爱的先生的回答。下面是我的解决方案的算法,但我无法将其编码到VB中。int getRandomNumber(){secret=(secret*663354+654321)%10000001;返回secret%100000;}我知道从X1到X1700的值;基本问题是获取“a”的值,因为“c”对我的解决方案没有多大影响。如果你能在这方面给我指导,我会很有帮助的。你对解线性方程的建议是个不错的选择;但由于mod()/rements函数,我也被卡住了。