要求:不允许使用系统时间 以及 JAVA自身带的随机数方法请问高手,应该怎么解决?  提供下思路,谢谢

解决方案 »

  1.   

    线性同余方法(LCG)是个产生伪随机数的方法。它是根据递归公式:    N[j+1] = (A * N[j] + B ) mod M其中A,B,M是产生器设定的常数。LCG的周期最大为M,但大部分情况都会少于M。要令LCG达到最大周期,应符合以下条件:   1. B,M互质;
       2. M的所有质因子的积能整除A − 1;
       3. 若M是4的倍数,A − 1也是;
       4. A,B,N0都比M小;
       5. A,B是正整数。
      

  2.   

    使用不带参数的构造方法构造的Random对象,它的缺省种子就是当前的系统时间的毫秒数。