码迷,mamicode.com
首页 > 其他好文 > 详细

线性同余法产生1000个随机数

时间:2017-10-13 23:55:24      阅读:458      评论:0      收藏:0      [点我收藏+]

标签:for   log   void   img   算法   9.png   rand   imp   tin   

设计思路:根据同余法产生随机数线性同余算法有m 、a 、c 和X0 4个参数,通过置Xn  ≡aXn + c (mod m) ,求得随机数序列< Xn > , 这个序列称作线性同余序列。m、a 、c 和X0 分别称做模数、乘数、增量和初始值。从代码中设置m,a,c的值,在从键盘输入随机种子X0,再利用for循环产生n个随机数。

 程序流程图:

技术分享

源代码:

package 测试二;

import java.util.Scanner;
public class Random {
public static void main(String[] args)
{
//输入参数;
int j=2;
int m=(int) (Math.pow(2, 27)-1);
int a=12;
int c=0;
System.out.println("请输入你要生成的随机数个数N:");
Scanner input=new Scanner (System.in);
int n=input.nextInt();
//开辟大小为N的数组;
int b[];
b=new int[n];
System.out.println("请输入随机数的种子:");
//输入随机数的种子;
b[0]=input.nextInt();
System.out.println("第1个随机数: "+b[0]);
for(int i=0;i<n-1;i++)
{
b[i+1]=(b[i]*a+c)%m;
System.out.print("第"+j+"个随机数:");
System.out.println(b[i+1]);
j++;
}
}
}

结果截图:

技术分享

 

线性同余法产生1000个随机数

标签:for   log   void   img   算法   9.png   rand   imp   tin   

原文地址:http://www.cnblogs.com/xiaohaigege666/p/7663493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!