动手动脑:
(1)纯随机数发生器
Modulus=231-1=int.MaxValue
Multiplier=75=16807
C=0
当显示过231-2个数之后,才可能重复。
动手动脑:
编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
代码如下:
package suijishu;
public class suijishu {
public long a=12345L;//定义long类型的a,b,c变量
public long c=12345L;
public long m=456123L;
public long r=1;
public long rand()//调用纯随机数发生器的函数
{
r=(r*a+c)%m;
return r;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
suijishu s=new suijishu();
long r;
for(int i=1;i<1000;)//输出1000个随机数
{
r=s.rand();
System.out.print(r+" ");
i++;
if (i%20==0)//每输入20个换行
System.out.println("");
}
}
}
代码截图: