加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 随机数生成器

发布时间:2020-12-15 05:15:17 所属栏目:Java 来源:网络整理
导读:我需要用 Java编写一个程序,使用以下公式生成[0,1]范围内的随机数: X i = (aX i-1 + b) mod m 假设a,b和amp;的任何固定的int值. m和X0 = 0.5(即i = 0) 我该怎么做呢? 我试过这样做但显然是错的: int a = 25173,b = 13849,m = 32768;double X_[i];for (int
我需要用 Java编写一个程序,使用以下公式生成[0,1]范围内的随机数:

Xi = (aXi-1 + b) mod m

假设a,b和amp;的任何固定的int值. m和X0 = 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];

解决方法

以下是一些提示:

int a,d,m,x;

乘法是*,mod是%.

更新

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

重要的代码行将是

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

你不需要另外一个x,因为=右边的x是OLD x或xi-1;左侧的那个将是你的“新”x或xi.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读