线性同余法产生1000个随机数
設計思路:根據同余法產生隨機數線性同余算法有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++;
}
}
}
結果截圖:
?
轉載于:https://www.cnblogs.com/xiaohaigege666/p/7663493.html
總結
以上是生活随笔為你收集整理的线性同余法产生1000个随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows 安装apex_《Apex
- 下一篇: C#地震反应谱