1.c与m互质
2.a - 1可以被m的所有质因数整除
3.如果m是4的倍数,a - 1也必须是4的倍数
以上三条被称为Hull-Dobell定理。作为一个伪随机数生成器,周期不够大是不好意思混的,所以这是要求之一。因此才有了:a=9301, c = 49297, m = 233280这组参数,以上三条全部满足。
教你 定义一个数组 数组中每个元素就是你的种子。然后随机数字。随机数的范围小于你数组的长度。
之后从你的数组中取第 N( 随机出来的数)个元素。
var mycars=new Array("Saab","Volvo","BMW","Saab1","Volvo1","BMW1")
var i=parseInt(Math.random()*0+5)
alert(mycars[i])
首先更正下是parseInt(Math.random()*7)返回0至6之间的任意一个整数。其中Math.random()返回一个[0..1]的随机种子。parseInt为取整强制去除小数位与Math.floor()函数等价。所以也可以写成Math.floor(Math.random()*7)