This is the java implementation of Multiply With Carry (MWC) algorithm to generate a set of random numbers. The main advantages of the MWC method are that it invokes simple computer integer arithmetic and leads to very fast generation of sequences of random numbers with immense periods. The formula it uses is, x(n) = (a*x(n-r) + c(n-1))mod n and c(n) = (a*x(n-r) + c(n-1))/n, where a is any multiplier, m is modulus, c is carry and r is initial number of seeds.
Here is the source code of the Java Program to Generate Random Numbers Using Multiply with Carry Method. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a sample program to generate a random numbers based on Multiply with carry method import java.util.Random; public class Multiply_With_Carry { public static void main(String args[]) { int max_Sequence_Elements = 10; Random random = new Random(); int base_b = 2000; int multiplier_a = random.nextInt(base_b); int r = 1; int []c = new int[max_Sequence_Elements]; int []x = new int[max_Sequence_Elements]; c[0] = random.nextInt(multiplier_a); x[0] = random.nextInt(base_b); System.out.print("The random number sequence is: " + x[0]); //generating sequence for(int i=1; i<max_Sequence_Elements; i++) { x[i] = (multiplier_a*x[i-r] + c[i-1]) % base_b; c[i] = (multiplier_a*x[i-r] + c[i-1]) / base_b; System.out.print(" " + x[i]); } } }
Output:
$ javac Multiply_With_Carry.java $ java Multiply_With_Carry The random number sequence is: 795 382 1487 260 475 1798 1347 722 1389 63
Related posts:
The “final” Keyword in Java
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Guide to the Synchronized Keyword in Java
How to Store Duplicate Keys in a Map in Java?
Concurrent Test Execution in Spring 5
What is Thread-Safety and How to Achieve it?
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
An Intro to Spring Cloud Security
Guide to CountDownLatch in Java
Java Program to Implement Brent Cycle Algorithm
Spring 5 Testing with @EnabledIf Annotation
Java Program to Check Whether a Given Point is in a Given Polygon
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Spring Security Remember Me
Java Program to Find All Pairs Shortest Path
Java Program to Implement RenderingHints API
Java Program to Solve a Matching Problem for a Given Specific Case
Map Interface trong java
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to Implement Heap Sort Using Library Functions
Spring Webflux with Kotlin
Debug a HttpURLConnection problem
Spring Security – Reset Your Password
Java Program to Implement Skew Heap
String Initialization in Java
Exploring the Spring 5 WebFlux URL Matching
Guide to Apache Commons CircularFifoQueue
Getting a File’s Mime Type in Java
New Features in Java 13
Java IO vs NIO
Java Program to Describe the Representation of Graph using Adjacency List