`

线性同余随机算法实现

 
阅读更多
package com.wistone.server.core;

public class MyRand {

	private int seed;

	public MyRand(int seed) {
		this.seed = seed;
	}

	public int next() {
		int next = (seed * 29 + 37) % 1000;
		seed = next;
		return next;
	}

	public static void main(String[] args) {
		MyRand rand = new MyRand(100);
		for (int i = 0; i < 100; i++) {
			System.out.println(rand.next());
		}
	}
}

 

分享到:
评论

相关推荐

    线性同余伪随机数生成器

    线性同余伪随机数生成器作为一项经典的算法,虽然有其局限性,但在许多场合下仍能提供足够的随机性。通过合理选择参数,LCG 能够生成长周期且看起来随机的数列,满足大部分随机数需求。然而,对于更高要求的随机性,...

    关于乘法线性同余数列产生器.rar

    乘法线性同余数列(Multiplicative Linear Congruential Generator,简称MLCG)是一种广泛应用于伪随机数生成器(Pseudo-Random Number Generator,PRNG)中的算法。这种算法基于数学上的线性同余方程,具有计算简单...

    算法-数论- 线性同余方程.rar

    在计算机科学中,线性同余方程广泛应用于伪随机数生成器的设计、RSA 加密算法以及有限域上的计算。例如,模指数运算 \(c = a^b \mod m\) 可以通过模乘快速幂算法和线性同余方程来高效实现。 此外,线性同余方程还在...

    随机算法编程举例。案例丰富

    随机算法在计算机科学中扮演着重要的角色,尤其在解决复杂问题和优化问题时。这些算法通过引入概率元素来实现计算,通常能以较低的计算复杂度得到近似解或最优解。以下是对压缩包文件中三个算法案例的详细介绍: 1....

    算法-数论- 线性同余方程组与中国剩余定理.rar

    在提供的"数论- 线性同余方程组与中国剩余定理.pdf"文档中,可能会详细介绍线性同余方程组的定义、性质,中国剩余定理的证明过程,以及相关的算法实现和应用案例。通过阅读这份资料,读者可以全面了解这个主题,并...

    suijishu.rar_伪随机_伪随机数_线性同余_随机数产生_随机数生成

    "suijishu.rar" 文件集合着重探讨了伪随机数生成,特别是线性同余法这一经典算法。让我们深入了解一下这个主题。 首先,什么是伪随机数?在实际应用中,由于真正的随机数难以获取,我们通常使用伪随机数,它们是由...

    易语言线性同余法

    线性同余法是一种在计算机科学中广泛使用的伪随机数生成算法,特别是在编程语言中用于模拟随机事件。易语言作为一款中国本土开发的编程环境,也提供了实现这种算法的手段。下面将详细介绍线性同余法及其在易语言中的...

    纯线性同余随机数生成器.docx

    纯线性同余随机数生成器(LCG)是一种经典的伪随机数生成算法,它的基本原理是基于数学上的线性同余方程。这个方程是:X(n+1) = (a * X(n) + c) % m,其中X(n)是第n个随机数,a、c和m是固定的系数,而X(0)是初始值,...

    线性同余法

    这种方法基于数学的线性同余方程,用于产生看似随机的整数序列。线性同余法的通用形式为: Xn+1 = (aXn + c) mod m 其中,Xn是当前的随机数,Xn+1是下一个随机数,a、c和m是预先定义的常数,m称为模数,a称为乘数...

    C语言线性同余法产生随机数.rar_C语言线性同余法产生随机数_seed

    线性同余法是一种常用的伪随机数生成算法,在C语言中尤其常见,因为它的实现简单且效率高。这种算法基于数学中的线性同余方程,可以用来模拟各种随机现象,如模拟掷骰子、随机选择等。在这个压缩包中,我们有两个...

    LCG:线性同余生成器(LCG)工具

    液化天然气线性同余生成器(LCG)工具线性同余生成器(LCG)的编译,该算法是一种算法,可产生使用不连续分段线性方程式计算的伪随机数序列。 该方法代表了最古老和最著名的伪随机数生成器算法之一。 它们背后的理论...

    基于DSP的线性同余法生成随机数的头文件 可以轻松调用 已经在CCS上调试通过

    线性同余法的基本原理是利用一个线性同余方程来生成一系列看似随机的数。这个方程通常表示为: Xn+1 = (aXn + c) mod m 其中,Xn是当前的随机数,Xn+1是下一个随机数,a、c和m是预先选定的整数参数。a被称为乘数,...

    j2me random类(线性同余法)

    这种方法基于数学上的线性同余方程,可以高效地生成一系列看似随机的整数。线性同余法的一般形式为: \[ X_{n+1} = (aX_n + c) \mod m \] 其中: - \( X_n \) 是当前的随机数, - \( a \) 是乘数, - \( c \) 是...

    lcg:C ++中的线性同余生成器

    线性同余生成器(Linear Congruential Generator,LCG)是一种常见的伪随机数生成算法,在C++编程中被广泛用于模拟、统计计算和游戏开发等领域。这些生成器基于数学上的线性同余方程,可以产生看似随机的整数序列。 ...

    基于DSP的任意长度伪随机序列产生方法

    本文探讨了一种利用数字信号处理器(DSP)生成任意长度伪随机序列的方法,这种方法基于线性同余算法,并结合了Analog Devices公司的TigerSHARC20XS DSP芯片的特性,为系统设计提供了更灵活的解决方案。 线性同余...

    模k同余的例子

    此外,在计算机科学中,如哈希函数的设计、伪随机数生成器的构造,甚至在优化问题和算法设计中,线性同余方程也有其身影。 总的来说,模k同余和线性同余方程是离散数学和数论的基础概念,它们在理论研究和实际应用...

    二维联合正态分布伪随机数生成算法的研究与实现

    - **线性同余法**:这是一种基于线性方程式的伪随机数生成方法,具有简单易实现的特点。 - **平方取中法**:这种方法通过将一个数平方后取中间几位作为新的随机数来生成序列。 - **取小数法**:通过对某些数值进行除...

Global site tag (gtag.js) - Google Analytics