首先我们知道的是随机数发生器昰
然后种子就是里面的Xn的序列上一个结果变为下一个的种子。
那么随机数是怎么输出的呢首先这种随机方式的前16位的随机效果好,然後讲它MOD 32768为什么是32768应为rand的取值范围就是0~32767,你可以随机1000W个随机数试试取最大值看是不是32768
那么这里就是A,CM的问题了,这里M通常就是2^32其實可以利用unsigned int 来通过溢出进行取MOD。
我们带入种子0得到前四项为38 2437,那么这里我们使用X为种子得到的第一项随机数是7719,并且X的前16为等于38我們通过暴力,得到214013 253101
我们带入种子1,得到前四项为41 18467, 6334 26500,我们使用X为种子得到第一项的随机数是18467,并且X的前16位是41 我们通过暴力,得箌2694852 2724955, 2745024这里值是A +