当前位置:  开发笔记 > 编程语言 > 正文

随机数发生器

如何解决《随机数发生器》经验,为你挑选了1个好方法。

我需要用Java编写一个程序,使用以下公式生成[0,1]范围内的随机数:

X i =(aX i-1 + b)mod m

假设任何固定的int值a,b&m和X 0 = 0.5(即i = 0)

我该怎么做呢?

我试过这样做但显然是错的:

int a = 25173, b = 13849, m = 32768;
double X_[i];
for (int i = 1; i<100; i++)
   X_[i] = (a*(X_[i]-1) + b) % m;
double X_[0] = 0.5;
double double = new double();
System.out.println [new double];

Charlie Mart.. 8

以下是一些提示:

int a, d, m, x;

乘法是*mod%.

更新

好的,我会再给你一点提示.你只需要一个X,你不需要所有这些数组; 因为你只使用整数,所以你不需要任何花车或双箭头.

重要的代码行将是

x = (a * x + b) % m ;

你不需要另外x那个,因为x右边=是OLD x,或x i-1 ; 左边的那个将是你的"新" x,或x i.

现在,从那里开始,你需要编写Java包装器,让你创建一个方法,这意味着编写一个.



1> Charlie Mart..:

以下是一些提示:

int a, d, m, x;

乘法是*mod%.

更新

好的,我会再给你一点提示.你只需要一个X,你不需要所有这些数组; 因为你只使用整数,所以你不需要任何花车或双箭头.

重要的代码行将是

x = (a * x + b) % m ;

你不需要另外x那个,因为x右边=是OLD x,或x i-1 ; 左边的那个将是你的"新" x,或x i.

现在,从那里开始,你需要编写Java包装器,让你创建一个方法,这意味着编写一个.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有